Класс 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
См. также