System::IO::BasicSTDIOStreamWrapper 类
BasicSTDIOStreamWrapper class
表示一个类似 System.IO.Stream 的包装器,用于 std::basic_iostream 及其派生对象。此类的对象只能使用 System::MakeObject() 函数分配。切勿在栈上或使用 operator new 创建此类型的实例,因为这会导致运行时错误和/或断言故障。始终将此类包装到 System::SmartPtr 指针中,并使用该指针将其作为参数传递给函数。
template<typename T,typename>class BasicSTDIOStreamWrapper : public System::IO::BasicSTDIStreamWrapper<T>,
public System::IO::BasicSTDOStreamWrapper<T>
方法
| 方法 | 描述 |
|---|
| BasicSTDIOStreamWrapper(std::basic_iostream<char_type, traits_type>&, STDIOStreamWrappingMode, STDIOStreamPositionPreference) | 构造一个新的 BasicSTDIOStreamWrapper 实例。 |
| BasicSTDIOStreamWrapper(const BasicSTDIOStreamWrapper&) | 拷贝构造函数。已删除。 |
| Flush() override | 清除此流的缓冲区并将所有缓冲的数据写入底层存储。 |
| operator=(const BasicSTDIOStreamWrapper&) | 拷贝赋值运算符。已删除。 |
| 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
另见