fastdo  0.6.16
winux::Packet< _PodType > 模板类 参考

数据包,用来表示一些POD结构体用于网络通信。通常这类结构体实际大小 > sizeof(这类结构体) 更多...

#include <utilities.hpp>

类 winux::Packet< _PodType > 继承关系图:
winux::Packet< _PodType > 的协作图:

Public 成员函数

 Packet (size_t size=0)
 
_PodType * get () const
 暴露缓冲区指针 更多...
 
_PodType * operator-> ()
 
_PodType const * operator-> () const
 
- Public 成员函数 继承自 winux::Buffer
 Buffer ()
 默认构造函数 更多...
 
 Buffer (void const *buf, size_t size, bool isPeek=false)
 构造函数1 从一个缓冲区创建Buffer,可以指定是否为窥视模式 更多...
 
template<typename _ChTy >
 Buffer (XString< _ChTy > const &data, bool isPeek=false)
 构造函数2 从一个XString创建Buffer,可以指定是否为窥视模式 更多...
 
template<typename _ChTy , typename = CharTypeConstrain<_ChTy>>
 Buffer (_ChTy const *str, size_t len=npos, bool isPeek=false)
 构造函数3 从字符指针创建Buffer,可以指定是否为窥视模式 更多...
 
virtual ~Buffer ()
 析构函数 更多...
 
 Buffer (Buffer const &other)
 拷贝构造函数(只会拷贝数据大小长度的空间,而不是容量大小) 更多...
 
Bufferoperator= (Buffer const &other)
 拷贝赋值函数(只会拷贝数据大小长度的空间,而不是容量大小) 更多...
 
 Buffer (Buffer &&other)
 移动构造函数 更多...
 
Bufferoperator= (Buffer &&other)
 移动赋值操作 更多...
 
 Buffer (GrowBuffer &&other)
 移动构造函数1 更多...
 
Bufferoperator= (GrowBuffer &&other)
 移动赋值操作1 更多...
 
void setBuf (void const *buf, size_t size, size_t capacity, bool isPeek)
 设置缓冲区,当isPeek为false时拷贝数据缓冲区 更多...
 
void setBuf (void const *buf, size_t size, bool isPeek)
 设置缓冲区,当isPeek为false时拷贝数据缓冲区 更多...
 
void alloc (size_t capacity, bool setDataSize=true)
 分配容量大小,当setDataSize为true时设置数据长度 更多...
 
void realloc (size_t newCapacity)
 重新调整容量的大小,保留数据内容 更多...
 
bool peekCopy (bool copyCapacity=false)
 把窥探模式变为拷贝模式,如果copyCapacity为true时连容量也一起拷贝,否则只拷贝数据。 更多...
 
void * detachBuf (size_t *size=nullptr)
 使Buffer对象不再管理内存资源 更多...
 
void free ()
 释放缓冲区 更多...
 
void * getBuf () const
 暴露缓冲区指针 更多...
 
template<typename _Ty >
_Ty * getBuf () const
 暴露缓冲区指针 更多...
 
void * get () const
 暴露缓冲区指针 更多...
 
template<typename _Ty >
_Ty * get () const
 暴露缓冲区指针 更多...
 
winux::bytegetAt (ssize_t i) const
 暴露缓冲区指定位置指针 更多...
 
template<typename _Ty >
_Ty * getAt (ssize_t i) const
 暴露缓冲区指定位置指针 更多...
 
winux::byteoperator[] (size_t i)
 获取指定索引的字节 更多...
 
winux::byte const & operator[] (size_t i) const
 获取指定索引的字节 更多...
 
winux::bytebegin ()
 
winux::byteend ()
 
winux::byte const * begin () const
 
winux::byte const * end () const
 
size_t getSize () const
 获取数据大小 更多...
 
size_t size () const
 获取数据字节大小 更多...
 
template<typename _Ty >
size_t size () const
 获取大小 更多...
 
template<typename _Ty >
size_t count () const
 获取大小 更多...
 
void _setSize (size_t dataSize)
 设置数据大小,不能超过容量大小(不建议外部调用) 更多...
 
size_t getCapacity () const
 获取容量大小 更多...
 
size_t capacity () const
 获取容量大小 更多...
 
bool isPeek () const
 是否为窥探模式 更多...
 
 operator bool () const
 判断是否为一个有效的Buffer 更多...
 
template<typename _ChTy >
XString< _ChTy > toString () const
 转换到字符串 更多...
 
AnsiString toAnsi () const
 转换到AnsiString 更多...
 
UnicodeString toUnicode () const
 转换到UnicodeString 更多...
 
bool operator== (Buffer const &other) const
 
bool operator< (Buffer const &other) const
 
bool operator> (Buffer const &other) const
 
bool operator!= (Buffer const &other) const
 
bool operator>= (Buffer const &other) const
 
bool operator<= (Buffer const &other) const
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 winux::Buffer
static void * Alloc (size_t size)
 
static void * Realloc (void *p, size_t newSize)
 
static void Free (void *p)
 
- Protected 成员函数 继承自 winux::Buffer
void _zeroInit ()
 
void _copyConstruct (void const *buf, size_t size, bool isPeek)
 
- Protected 属性 继承自 winux::Buffer
void * _buf
 缓冲区 更多...
 
size_t _dataSize
 数据的大小 更多...
 
size_t _capacity
 容量 更多...
 
bool _isPeek
 是否为窥视模式 更多...
 

详细描述

template<typename _PodType>
class winux::Packet< _PodType >

数据包,用来表示一些POD结构体用于网络通信。通常这类结构体实际大小 > sizeof(这类结构体)

在文件 utilities.hpp1087 行定义.

构造及析构函数说明

template<typename _PodType>
winux::Packet< _PodType >::Packet ( size_t  size = 0)
inline

在文件 utilities.hpp1090 行定义.

成员函数说明

template<typename _PodType>
_PodType* winux::Packet< _PodType >::get ( ) const
inline

暴露缓冲区指针

在文件 utilities.hpp1096 行定义.

template<typename _PodType>
_PodType* winux::Packet< _PodType >::operator-> ( )
inline

在文件 utilities.hpp1098 行定义.

template<typename _PodType>
_PodType const* winux::Packet< _PodType >::operator-> ( ) const
inline

在文件 utilities.hpp1099 行定义.


该类的文档由以下文件生成: