fastdo  0.6.16
winux::Buffer类 参考

缓冲区,表示内存中一块二进制数据(利用malloc/realloc进行内存分配) 更多...

#include <utilities.hpp>

类 winux::Buffer 继承关系图:

Public 成员函数

 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 成员函数

static void * Alloc (size_t size)
 
static void * Realloc (void *p, size_t newSize)
 
static void Free (void *p)
 

Protected 成员函数

void _zeroInit ()
 
void _copyConstruct (void const *buf, size_t size, bool isPeek)
 

Protected 属性

void * _buf
 缓冲区 更多...
 
size_t _dataSize
 数据的大小 更多...
 
size_t _capacity
 容量 更多...
 
bool _isPeek
 是否为窥视模式 更多...
 

友元

class GrowBuffer
 

详细描述

缓冲区,表示内存中一块二进制数据(利用malloc/realloc进行内存分配)

在文件 utilities.hpp906 行定义.

构造及析构函数说明

winux::Buffer::Buffer ( )

默认构造函数

winux::Buffer::Buffer ( void const *  buf,
size_t  size,
bool  isPeek = false 
)

构造函数1 从一个缓冲区创建Buffer,可以指定是否为窥视模式

处于窥视模式时将不负责管理资源的释放

template<typename _ChTy >
winux::Buffer::Buffer ( XString< _ChTy > const &  data,
bool  isPeek = false 
)
inline

构造函数2 从一个XString创建Buffer,可以指定是否为窥视模式

处于窥视模式时将不负责管理资源的释放

在文件 utilities.hpp926 行定义.

template<typename _ChTy , typename = CharTypeConstrain<_ChTy>>
winux::Buffer::Buffer ( _ChTy const *  str,
size_t  len = npos,
bool  isPeek = false 
)
inline

构造函数3 从字符指针创建Buffer,可以指定是否为窥视模式

在文件 utilities.hpp933 行定义.

virtual winux::Buffer::~Buffer ( )
virtual

析构函数

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

拷贝构造函数(只会拷贝数据大小长度的空间,而不是容量大小)

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

移动构造函数

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

移动构造函数1

成员函数说明

static void* winux::Buffer::Alloc ( size_t  size)
static
static void* winux::Buffer::Realloc ( void *  p,
size_t  newSize 
)
static
static void winux::Buffer::Free ( void *  p)
static
Buffer& winux::Buffer::operator= ( Buffer const &  other)

拷贝赋值函数(只会拷贝数据大小长度的空间,而不是容量大小)

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

移动赋值操作

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

移动赋值操作1

void winux::Buffer::setBuf ( void const *  buf,
size_t  size,
size_t  capacity,
bool  isPeek 
)

设置缓冲区,当isPeek为false时拷贝数据缓冲区

参数
buf缓冲区指针。如果为nullptr则分配空间后不进行数据拷贝
size数据大小
capacity缓冲区容量
isPeek是否窥探模式。默认false拷贝数据
void winux::Buffer::setBuf ( void const *  buf,
size_t  size,
bool  isPeek 
)
inline

设置缓冲区,当isPeek为false时拷贝数据缓冲区

参数
buf缓冲区指针。如果为nullptr则分配空间后不进行数据拷贝
size数据大小
isPeek是否窥探模式。默认false拷贝数据

在文件 utilities.hpp971 行定义.

void winux::Buffer::alloc ( size_t  capacity,
bool  setDataSize = true 
)

分配容量大小,当setDataSize为true时设置数据长度

void winux::Buffer::realloc ( size_t  newCapacity)

重新调整容量的大小,保留数据内容

注意
如果新的容量小于数据大小,多余的数据会被丢弃
bool winux::Buffer::peekCopy ( bool  copyCapacity = false)

把窥探模式变为拷贝模式,如果copyCapacity为true时连容量也一起拷贝,否则只拷贝数据。

返回
如果本来就不是窥探模式则直接返回false,由窥探模式切到拷贝则返回true
void* winux::Buffer::detachBuf ( size_t *  size = nullptr)

使Buffer对象不再管理内存资源

void winux::Buffer::free ( )

释放缓冲区

void* winux::Buffer::getBuf ( ) const
inline

暴露缓冲区指针

在文件 utilities.hpp993 行定义.

template<typename _Ty >
_Ty* winux::Buffer::getBuf ( ) const
inline

暴露缓冲区指针

在文件 utilities.hpp997 行定义.

void* winux::Buffer::get ( ) const
inline

暴露缓冲区指针

在文件 utilities.hpp1000 行定义.

template<typename _Ty >
_Ty* winux::Buffer::get ( ) const
inline

暴露缓冲区指针

在文件 utilities.hpp1004 行定义.

winux::byte* winux::Buffer::getAt ( ssize_t  i) const
inline

暴露缓冲区指定位置指针

在文件 utilities.hpp1007 行定义.

template<typename _Ty >
_Ty* winux::Buffer::getAt ( ssize_t  i) const
inline

暴露缓冲区指定位置指针

在文件 utilities.hpp1011 行定义.

winux::byte& winux::Buffer::operator[] ( size_t  i)
inline

获取指定索引的字节

在文件 utilities.hpp1014 行定义.

winux::byte const& winux::Buffer::operator[] ( size_t  i) const
inline

获取指定索引的字节

在文件 utilities.hpp1016 行定义.

winux::byte* winux::Buffer::begin ( )
inline

在文件 utilities.hpp1019 行定义.

winux::byte* winux::Buffer::end ( )
inline

在文件 utilities.hpp1020 行定义.

winux::byte const* winux::Buffer::begin ( ) const
inline

在文件 utilities.hpp1021 行定义.

winux::byte const* winux::Buffer::end ( ) const
inline

在文件 utilities.hpp1022 行定义.

size_t winux::Buffer::getSize ( ) const
inline

获取数据大小

在文件 utilities.hpp1025 行定义.

size_t winux::Buffer::size ( ) const
inline

获取数据字节大小

在文件 utilities.hpp1028 行定义.

template<typename _Ty >
size_t winux::Buffer::size ( ) const
inline

获取大小

在文件 utilities.hpp1032 行定义.

template<typename _Ty >
size_t winux::Buffer::count ( ) const
inline

获取大小

在文件 utilities.hpp1036 行定义.

void winux::Buffer::_setSize ( size_t  dataSize)
inline

设置数据大小,不能超过容量大小(不建议外部调用)

在文件 utilities.hpp1039 行定义.

size_t winux::Buffer::getCapacity ( ) const
inline

获取容量大小

在文件 utilities.hpp1042 行定义.

size_t winux::Buffer::capacity ( ) const
inline

获取容量大小

在文件 utilities.hpp1045 行定义.

bool winux::Buffer::isPeek ( ) const
inline

是否为窥探模式

在文件 utilities.hpp1048 行定义.

winux::Buffer::operator bool ( ) const
inline

判断是否为一个有效的Buffer

在文件 utilities.hpp1051 行定义.

template<typename _ChTy >
XString<_ChTy> winux::Buffer::toString ( ) const
inline

转换到字符串

在文件 utilities.hpp1055 行定义.

AnsiString winux::Buffer::toAnsi ( ) const
inline

转换到AnsiString

在文件 utilities.hpp1058 行定义.

UnicodeString winux::Buffer::toUnicode ( ) const
inline

转换到UnicodeString

在文件 utilities.hpp1061 行定义.

bool winux::Buffer::operator== ( Buffer const &  other) const
inline

在文件 utilities.hpp1064 行定义.

bool winux::Buffer::operator< ( Buffer const &  other) const
inline

在文件 utilities.hpp1065 行定义.

bool winux::Buffer::operator> ( Buffer const &  other) const
inline

在文件 utilities.hpp1066 行定义.

bool winux::Buffer::operator!= ( Buffer const &  other) const
inline

在文件 utilities.hpp1067 行定义.

bool winux::Buffer::operator>= ( Buffer const &  other) const
inline

在文件 utilities.hpp1068 行定义.

bool winux::Buffer::operator<= ( Buffer const &  other) const
inline

在文件 utilities.hpp1069 行定义.

void winux::Buffer::_zeroInit ( )
protected
void winux::Buffer::_copyConstruct ( void const *  buf,
size_t  size,
bool  isPeek 
)
protected

友元及相关函数文档

friend class GrowBuffer
friend

在文件 utilities.hpp1082 行定义.

类成员变量说明

void* winux::Buffer::_buf
protected

缓冲区

在文件 utilities.hpp1077 行定义.

size_t winux::Buffer::_dataSize
protected

数据的大小

在文件 utilities.hpp1078 行定义.

size_t winux::Buffer::_capacity
protected

容量

在文件 utilities.hpp1079 行定义.

bool winux::Buffer::_isPeek
protected

是否为窥视模式

在文件 utilities.hpp1080 行定义.


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