Класс System::IO::BasicSTDIStreamWrapper

BasicSTDIStreamWrapper class

Представляет обёртку, похожую на System.IO.Stream, для std::basic_istream и его производных объектов. Объекты этого класса должны создаваться только с помощью функции System::MakeObject(). Никогда не создавайте экземпляр этого типа в стеке или с помощью оператора new, так как это приведёт к ошибкам выполнения и/или сбоям утверждений. Всегда оборачивайте этот класс в указатель System::SmartPtr и используйте этот указатель для передачи его в функции в качестве аргумента.

template<typename T,typename>class BasicSTDIStreamWrapper : public virtual System::IO::STDIOStreamWrapperBase<T>

Методы

МетодОписание
BasicSTDIStreamWrapper(std::basic_istream<char_type, traits_type>&, STDIOStreamWrappingMode)Создаёт новый экземпляр BasicSTDIStreamWrapper.
BasicSTDIStreamWrapper(const BasicSTDIStreamWrapper&)Конструктор копирования. Удалён.
Flush() overrideОчищает буферы этого потока и записывает все буферизованные данные во внутреннее хранилище. Не поддерживается!
operator=(const BasicSTDIStreamWrapper&)Оператор копирующего присваивания. Удалён.
Read(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideЕсли режим обёртывания бинарный, читает указанное количество байтов из потока, иначе читает указанное количество символов и преобразует их в тип uint8_t. Записывает результат чтения в указанный массив байтов.
Read(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideСчитывает указанное количество байтов из потока и записывает их в указанный массив байтов.
ReadByte() overrideЕсли режим обёртывания бинарный, читает один байт из хранилища последнего декодированного символа, иначе читает один символ из потока и преобразует его в тип uint8_t.
SetLength(int64_t) overrideУстанавливает длину потока, представленного текущим объектом. Не поддерживается!
Write(const ArrayPtr<uint8_t>&, int32_t, int32_t) overrideЕсли режим обёртывания бинарный, записывает в поток указанный поддиапазон байтов из указанного массива байтов, иначе преобразует указанный поддиапазон байтов из указанного массива байтов в тип char_type и затем записывает результат в поток. Не поддерживается!
Write(const System::Details::ArrayView<uint8_t>&, int32_t, int32_t) overrideЗаписывает указанный поддиапазон байтов из указанного массива байтов в поток.
WriteByte(uint8_t) overrideЕсли режим обёртывания бинарный, записывает в поток указанное беззнаковое 8-битное целое значение, иначе преобразует его в тип char_type и затем записывает результат в поток. Не поддерживается!

Поля

ПолеОписание
static NullПоток без базового хранилища.

Typedefs

Определение типаОписание
BaseType
char_typeИнформация RTTI.
ThisType
ThisTypeBaseTypesInfo
traits_type

См. также