System::IO::BasicSTDIStreamWrapper 类

BasicSTDIStreamWrapper class

表示一个类似 System.IO.Stream 的包装器,用于 std::basic_istream 及其派生对象。此类的对象只能使用 System::MakeObject() 函数分配。切勿在栈上或使用 operator 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_typeRTTI 信息。
ThisType
ThisTypeBaseTypesInfo
traits_type

另见