fastdo  0.6.16
winux::GrowBuffer类 参考

高效的可增长缓冲区,1.33倍冗余量 更多...

#include <utilities.hpp>

类 winux::GrowBuffer 继承关系图:
winux::GrowBuffer 的协作图:

Public 成员函数

 GrowBuffer (size_t capacity=0)
 构造函数,初始化缓冲区的大小 更多...
 
 GrowBuffer (GrowBuffer const &other)
 
GrowBufferoperator= (GrowBuffer const &other)
 
 GrowBuffer (Buffer const &other)
 
GrowBufferoperator= (Buffer const &other)
 
 GrowBuffer (GrowBuffer &&other)
 移动构造函数 更多...
 
GrowBufferoperator= (GrowBuffer &&other)
 移动赋值操作 更多...
 
 GrowBuffer (Buffer &&other)
 移动构造函数1 更多...
 
GrowBufferoperator= (Buffer &&other)
 移动赋值操作1 更多...
 
void append (void const *data, size_t size)
 添加数据:C语言缓冲区 更多...
 
void append (Buffer const &data)
 添加数据:Buffer对象 更多...
 
template<typename _ChTy >
void appendString (XString< _ChTy > const &data)
 添加数据:XString对象 更多...
 
template<typename _ChTy , typename = CharTypeConstrain<_ChTy>>
void appendString (_ChTy const *str, size_t len=npos)
 添加数据:C串 更多...
 
template<typename _PodType >
void appendType (_PodType const &data, size_t size=sizeof(_PodType))
 添加数据:POD类型变量 更多...
 
template<typename _PodType , size_t _Count>
void appendType (_PodType const (&data)[_Count])
 添加数据:POD类型数组 更多...
 
template<typename _PodType >
void appendType (std::initializer_list< _PodType > list)
 添加数据:POD类型std::initializer_list 更多...
 
void erase (size_t start, size_t count=(size_t)-1)
 擦除数据,自动紧缩 更多...
 
- 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
 

友元

class Buffer
 

额外继承的成员函数

- 静态 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
 是否为窥视模式 更多...
 

详细描述

高效的可增长缓冲区,1.33倍冗余量

在文件 utilities.hpp1103 行定义.

构造及析构函数说明

winux::GrowBuffer::GrowBuffer ( size_t  capacity = 0)
explicit

构造函数,初始化缓冲区的大小

winux::GrowBuffer::GrowBuffer ( GrowBuffer const &  other)
winux::GrowBuffer::GrowBuffer ( Buffer const &  other)
explicit
winux::GrowBuffer::GrowBuffer ( GrowBuffer &&  other)

移动构造函数

winux::GrowBuffer::GrowBuffer ( Buffer &&  other)

移动构造函数1

成员函数说明

GrowBuffer& winux::GrowBuffer::operator= ( GrowBuffer const &  other)
GrowBuffer& winux::GrowBuffer::operator= ( Buffer const &  other)
GrowBuffer& winux::GrowBuffer::operator= ( GrowBuffer &&  other)

移动赋值操作

GrowBuffer& winux::GrowBuffer::operator= ( Buffer &&  other)

移动赋值操作1

void winux::GrowBuffer::append ( void const *  data,
size_t  size 
)

添加数据:C语言缓冲区

参数
[in]data数据缓冲区地址。若为nullptr,则只增涨数据空间不复制数据
[in]size数据大小
void winux::GrowBuffer::append ( Buffer const &  data)
inline

添加数据:Buffer对象

在文件 utilities.hpp1131 行定义.

template<typename _ChTy >
void winux::GrowBuffer::appendString ( XString< _ChTy > const &  data)
inline

添加数据:XString对象

在文件 utilities.hpp1135 行定义.

template<typename _ChTy , typename = CharTypeConstrain<_ChTy>>
void winux::GrowBuffer::appendString ( _ChTy const *  str,
size_t  len = npos 
)
inline

添加数据:C串

在文件 utilities.hpp1139 行定义.

template<typename _PodType >
void winux::GrowBuffer::appendType ( _PodType const &  data,
size_t  size = sizeof(_PodType) 
)
inline

添加数据:POD类型变量

在文件 utilities.hpp1146 行定义.

template<typename _PodType , size_t _Count>
void winux::GrowBuffer::appendType ( _PodType const (&)  data[_Count])
inline

添加数据:POD类型数组

在文件 utilities.hpp1150 行定义.

template<typename _PodType >
void winux::GrowBuffer::appendType ( std::initializer_list< _PodType >  list)
inline

添加数据:POD类型std::initializer_list

在文件 utilities.hpp1154 行定义.

void winux::GrowBuffer::erase ( size_t  start,
size_t  count = (size_t)-1 
)

擦除数据,自动紧缩

友元及相关函数文档

friend class Buffer
friend

在文件 utilities.hpp1166 行定义.


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