ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::ser::serialize< TBUFF > Class Template Referenceabstract

序列化缓冲区基类,提供基本的缓冲区操作。 More...

#include <nserialize.h>

Public Member Functions

 serialize (TBUFF abuff, int32_t alen)
 构造函数。
TBUFF buff ()
 获取缓冲区指针。
int & pos ()
 获取当前读写位置。
int & len ()
 获取缓冲区总长度。
int move_pos (int abytes)
 移动读写位置。
virtual bool basetype (void *adata, int32_t abytes)=0
 读写基本数据类型(纯虚函数)。

Detailed Description

template<typename TBUFF>
class ngl::ser::serialize< TBUFF >

序列化缓冲区基类,提供基本的缓冲区操作。

该类是序列化引擎的基础,提供了缓冲区管理的基本功能。 根据模板参数TBUFF的不同,可以实现不同的序列化方向:

使用示例:

// 序列化(写入)
char buffer[1024];
serialize_push ser(buffer, sizeof(buffer));
nserialize::push(&ser, data1, data2);
// 反序列化(读取)
serialize_pop deser(buffer, sizeof(buffer));
nserialize::pop(&deser, data1, data2);

Constructor & Destructor Documentation

◆ serialize()

template<typename TBUFF>
ngl::ser::serialize< TBUFF >::serialize ( TBUFF abuff,
int32_t alen )
inline

构造函数。

Parameters
abuff缓冲区指针
alen缓冲区长度

Member Function Documentation

◆ basetype()

template<typename TBUFF>
virtual bool ngl::ser::serialize< TBUFF >::basetype ( void * adata,
int32_t abytes )
pure virtual

读写基本数据类型(纯虚函数)。

Parameters
adata数据指针
abytes数据字节数
Returns
bool 操作是否成功

Implemented in ngl::ser::serialize_pop, and ngl::ser::serialize_push.

◆ buff()

template<typename TBUFF>
TBUFF ngl::ser::serialize< TBUFF >::buff ( )
inline

获取缓冲区指针。

Returns
TBUFF 缓冲区指针

◆ len()

template<typename TBUFF>
int & ngl::ser::serialize< TBUFF >::len ( )
inline

获取缓冲区总长度。

Returns
int& 长度引用

◆ move_pos()

template<typename TBUFF>
int ngl::ser::serialize< TBUFF >::move_pos ( int abytes)
inline

移动读写位置。

Parameters
abytes移动的字节数
Returns
int 新的位置

◆ pos()

template<typename TBUFF>
int & ngl::ser::serialize< TBUFF >::pos ( )
inline

获取当前读写位置。

Returns
int& 位置引用

The documentation for this class was generated from the following file: