CMGDK r49-rc2
公有成员 | 公有属性 | 保护成员
hgl::MemStream类参考

内存流操作类 更多...

#include <MemStream.H>

继承图,类hgl::MemStream
hgl::Stream

所有成员的列表。

公有成员

 MemStream ()
 MemStream (int64, bool=false)
 MemStream (void *, int64)
 ~MemStream ()
bool Create (int64, bool=false)
void Clear ()
void Link (void *, int64)
void * GetCurData (int64 &)
bool SaveToStream (Stream *)
bool LoadFromStream (Stream *)
bool SaveToFile (const wchar_t *)
bool LoadFromFile (const wchar_t *)

公有属性

bool FixedSize
 是否固定长度
void * Data
 原始数据

保护成员

int64 GetPosition ()
void SetPosition (int64)
int64 GetSize ()
void SetSize (int64)
bool GetCanSeek ()
bool GetCanRead ()
bool GetCanWrite ()
void InitPrivate ()
int64 _Read (void *, int64)
int64 _Write (const void *, int64)

详细描述

内存流操作类

MemoryStream是一个在动态内存中存取其数据的流,它从Stream类派生。


构造及析构函数文档

hgl::MemStream::MemStream ( )
hgl::MemStream::MemStream ( int64  len,
bool  fixed = false 
)

本类构造函数,并创建内存流

参数:
len内存流的长度
fixed是否固定长度
hgl::MemStream::MemStream ( void *  ptr,
int64  memsize 
)

本类构造函数,并创建内存流映射

参数:
ptr要link的内存数据指针
memsize内存长度
hgl::MemStream::~MemStream ( )

成员函数文档

int64 hgl::MemStream::_Read ( void *  buf,
int64  bufsize 
) [protected, virtual]

从内存流中读取指定长度的数据,一般状态读出的数据和缓冲区长度一致

参数:
buf保存读取出的数据用的缓冲区指针
bufsize缓冲区长度
返回:
实际读取出的数据长度
-1 出错

实现了hgl::Stream

int64 hgl::MemStream::_Write ( const void *  buf,
int64  bufsize 
) [protected, virtual]

向内存流中写入指定长度的数据

参数:
buf要写入的数据缓冲区指针
bufsize要写入的数据长度
返回:
实际写入的数据长度
-1 出错

实现了hgl::Stream

void hgl::MemStream::Clear ( )

清除内存流

bool hgl::MemStream::Create ( int64  len,
bool  fixed = false 
)

创建内存流

参数:
len内存流的长度
fixed是否固定长度
返回:
是否创建成功
bool hgl::MemStream::GetCanRead ( ) [inline, protected, virtual]

实现了hgl::Stream

bool hgl::MemStream::GetCanSeek ( ) [inline, protected, virtual]

实现了hgl::Stream

bool hgl::MemStream::GetCanWrite ( ) [inline, protected, virtual]

实现了hgl::Stream

void * hgl::MemStream::GetCurData ( int64 cur_size)

从内存流中取出当前读写位置的指针

参数:
cur_size从当前读写位置算起还能用的字节数
返回:
当前读写位置指针
int64 hgl::MemStream::GetPosition ( ) [protected]
int64 hgl::MemStream::GetSize ( ) [protected]
void hgl::MemStream::InitPrivate ( ) [protected]
void hgl::MemStream::Link ( void *  ptr,
int64  memsize 
)

将当前内存流指向一块内存,需要注意的是link的内存在当前流被释时,流不会去释放这块内存

参数:
ptr内存数据指针
memsize内存长度
bool hgl::MemStream::LoadFromFile ( const wchar_t *  filename)

从文件中载入数据

参数:
filename文件名
返回:
文件是否载入成功
bool hgl::MemStream::LoadFromStream ( Stream in)

从一个流中读入数据

参数:
in存有数据的流
bool hgl::MemStream::SaveToFile ( const wchar_t *  filename)

保存流数据成一个文件

参数:
filename文件名
返回:
是否保存成功
bool hgl::MemStream::SaveToStream ( Stream out)

将当前流中的数据保存到一个流

参数:
out用来保存数据的流
void hgl::MemStream::SetPosition ( int64  tpos) [protected]
void hgl::MemStream::SetSize ( int64  nsize) [protected]

成员数据文档

原始数据

是否固定长度


该类的文档由以下文件生成:
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义