![]() |
CMGDK r49-rc2
|
流式数据访问基类 更多...
#include <Stream.H>
公有成员 | |
virtual | ~Stream () |
int64 | Read (void *ptr, int64 size) |
int64 | Write (const void *ptr, int64 size) |
virtual int64 | Seek (int64, SeekOrigin=soBegin) |
bool | Eof () |
STREAM_RW (char, Char) | |
STREAM_RW (bool, Bool) | |
STREAM_RW (int8, Int8) | |
STREAM_RW (int16, Int16) | |
STREAM_RW (int32, Int32) | |
STREAM_RW (int64, Int64) | |
STREAM_RW (uint8, Uint8) | |
STREAM_RW (uint16, Uint16) | |
STREAM_RW (uint32, Uint32) | |
STREAM_RW (uint64, Uint64) | |
STREAM_RW (wchar_t, WideChar) | |
STREAM_RW (float, Float) | |
STREAM_RW (double, Double) | |
bool | ReadString (wchar_t *, int) |
bool | ReadString (WideString &) |
bool | WriteString (const wchar_t *, int) |
bool | WriteString (const wchar_t *str) |
bool | WriteString (const WideString &ws) |
bool | ReadObject (DataObject *) |
bool | WriteObject (DataObject *) |
template<typename T > | |
bool | Read (T &value) |
template<typename T > | |
bool | Read (T *) |
template<typename T > | |
bool | Write (const T &value) |
template<typename T > | |
bool | Write (T *) |
template<typename T > | |
bool | Write (const T *) |
template<typename T > | |
bool | ReadArray (T *value, int count) |
template<typename T > | |
bool | ReadArray (T **, int count) |
template<typename T > | |
bool | WriteArray (T *value, int count) |
template<typename T > | |
bool | WriteArray (T **, int count) |
template<typename T > | |
bool | WriteArray (const T **, int count) |
template<typename T > | |
void | operator>> (T &value) |
template<typename T > | |
void | operator>> (T *) |
template<typename T > | |
void | operator<< (const T &value) |
template<typename T > | |
void | operator<< (T *) |
template<typename T > | |
void | operator<< (const T *) |
公有属性 | |
Property< bool > | CanSeek |
当前流是否可定位 | |
Property< bool > | CanRead |
当前流是否可读 | |
Property< bool > | CanWrite |
当前流是否可写 | |
Property< int64 > | Position |
该属性可以访问流的当前位置,如果是-1表示无法操作 | |
Property< int64 > | Size |
该属性可以访问流的大小,如果为-1表示无法控制 | |
保护成员 | |
virtual bool | GetCanSeek ()=0 |
virtual bool | GetCanRead ()=0 |
virtual bool | GetCanWrite ()=0 |
virtual int64 | _Read (void *buf, int64 size)=0 |
virtual int64 | _Write (const void *buf, int64 size)=0 |
流式数据访问基类
Stream是可以从各种存储介质(内存、文件、网络等等)中读出与写入流式数据的抽象基类。
Stream类不能被实例化,它必须依靠子类中重载的各种抽象方法来实现所有的功能。
virtual hgl::Stream::~Stream | ( | ) | [inline, virtual] |
bool hgl::Stream::Eof | ( | ) | [inline] |
virtual bool hgl::Stream::GetCanRead | ( | ) | [protected, pure virtual] |
virtual bool hgl::Stream::GetCanSeek | ( | ) | [protected, pure virtual] |
virtual bool hgl::Stream::GetCanWrite | ( | ) | [protected, pure virtual] |
void hgl::Stream::operator<< | ( | const T & | value | ) | [inline] |
void hgl::Stream::operator<< | ( | T * | ) | [inline] |
void hgl::Stream::operator<< | ( | const T * | ) | [inline] |
void hgl::Stream::operator>> | ( | T * | ) | [inline] |
void hgl::Stream::operator>> | ( | T & | value | ) | [inline] |
从流中读取指定长度的数据
ptr | 一个内存指针,用来存放读出的数据 |
size | 要读出的数据长度 |
bool hgl::Stream::Read | ( | T & | value | ) | [inline] |
bool hgl::Stream::Read | ( | T * | ) | [inline] |
bool hgl::Stream::ReadArray | ( | T * | value, |
int | count | ||
) | [inline] |
bool hgl::Stream::ReadArray | ( | T ** | , |
int | count | ||
) | [inline] |
bool hgl::Stream::ReadObject | ( | DataObject * | obj | ) |
从流中读取一个数据对象
obj | 要读取的对象 |
bool hgl::Stream::ReadString | ( | wchar_t * | str, |
int | max_limit | ||
) |
从流中读取一个Pascal LongString格式字符串
str | 用来保存读取出的字符串用内存指针 |
max_limit | 最大长度限制 |
bool hgl::Stream::ReadString | ( | WideString & | str | ) |
从流中读取一个Pascal LongString格式字符串
str | 用来保存读取出的字符串用内存指针 |
int64 hgl::Stream::Seek | ( | int64 | offset, |
SeekOrigin | so = soBegin |
||
) | [virtual] |
hgl::Stream::STREAM_RW | ( | uint8 | , |
Uint8 | |||
) |
hgl::Stream::STREAM_RW | ( | float | , |
Float | |||
) |
hgl::Stream::STREAM_RW | ( | bool | , |
Bool | |||
) |
hgl::Stream::STREAM_RW | ( | uint16 | , |
Uint16 | |||
) |
hgl::Stream::STREAM_RW | ( | double | , |
Double | |||
) |
hgl::Stream::STREAM_RW | ( | uint64 | , |
Uint64 | |||
) |
hgl::Stream::STREAM_RW | ( | char | , |
Char | |||
) |
hgl::Stream::STREAM_RW | ( | uint32 | , |
Uint32 | |||
) |
hgl::Stream::STREAM_RW | ( | wchar_t | , |
WideChar | |||
) |
hgl::Stream::STREAM_RW | ( | int8 | , |
Int8 | |||
) |
hgl::Stream::STREAM_RW | ( | int64 | , |
Int64 | |||
) |
hgl::Stream::STREAM_RW | ( | int16 | , |
Int16 | |||
) |
hgl::Stream::STREAM_RW | ( | int32 | , |
Int32 | |||
) |
bool hgl::Stream::Write | ( | const T * | ) | [inline] |
向流中写入指定长度的数据
ptr | 一个内存指针,用来存放要写入的数据 |
size | 要写入的数据长度 |
bool hgl::Stream::Write | ( | T * | ) | [inline] |
bool hgl::Stream::Write | ( | const T & | value | ) | [inline] |
bool hgl::Stream::WriteArray | ( | T ** | , |
int | count | ||
) | [inline] |
bool hgl::Stream::WriteArray | ( | const T ** | , |
int | count | ||
) | [inline] |
bool hgl::Stream::WriteArray | ( | T * | value, |
int | count | ||
) | [inline] |
bool hgl::Stream::WriteObject | ( | DataObject * | obj | ) |
向流中写入一个数据对象
obj | 要写入的对象 |
bool hgl::Stream::WriteString | ( | const wchar_t * | str | ) | [inline] |
bool hgl::Stream::WriteString | ( | const wchar_t * | str, |
int | len | ||
) |
向流中写入一个Pascal LongString格式的字符串
str | 要写入的字符串内存指针 |
bool hgl::Stream::WriteString | ( | const WideString & | ws | ) | [inline] |
Property<bool> hgl::Stream::CanRead |
当前流是否可读
Property<bool> hgl::Stream::CanSeek |
当前流是否可定位
当前流是否可写
该属性可以访问流的当前位置,如果是-1表示无法操作
该属性可以访问流的大小,如果为-1表示无法控制