fastdo  0.6.8
winux::Buffer类 参考

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

#include <utilities.hpp>

类 winux::Buffer 继承关系图:

Public 成员函数

 Buffer ()
 默认构造函数 更多...
 
 Buffer (void const *buf, size_t size, bool isPeek=false)
 构造函数1 从一个缓冲区创建Buffer,可以指定是否为窥视模式 更多...
 
 Buffer (AnsiString const &data, bool isPeek=false)
 构造函数2 从一个AnsiString创建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::byteoperator[] (size_t i)
 获取指定索引的字节 更多...
 
winux::byte const & operator[] (size_t i) const
 获取指定索引的字节 更多...
 
winux::byteget (size_t i)
 获取指定索引的字节 更多...
 
winux::byte const & get (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
 获取数据大小 更多...
 
void _setSize (size_t dataSize)
 设置数据大小,不能超过容量大小(不建议外部调用) 更多...
 
size_t getCapacity () const
 获取容量大小 更多...
 
size_t capacity () const
 获取容量大小 更多...
 
 operator bool () const
 判断是否为一个有效的Buffer 更多...
 
template<typename _ChTy >
XString< _ChTy > toString () const
 转换到字符串 更多...
 
AnsiString toAnsi () const
 转换到AnsiString 更多...
 
UnicodeString toUnicode () const
 转换到UnicodeString 更多...
 

静态 Public 成员函数

static void * _Alloc (size_t size)
 
static void * _Realloc (void *p, size_t newSize)
 
static void _Free (void *p)
 

Protected 属性

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

友元

class GrowBuffer
 

详细描述

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

在文件 utilities.hpp528 行定义.

构造及析构函数说明

winux::Buffer::Buffer ( )

默认构造函数

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

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

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

winux::Buffer::Buffer ( AnsiString const &  data,
bool  isPeek = false 
)

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

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

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::_Free ( void *  p)
static
static void* winux::Buffer::_Realloc ( void *  p,
size_t  newSize 
)
static
void winux::Buffer::_setSize ( size_t  dataSize)
inline

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

在文件 utilities.hpp619 行定义.

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

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

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

在文件 utilities.hpp607 行定义.

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

在文件 utilities.hpp609 行定义.

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

获取容量大小

在文件 utilities.hpp625 行定义.

void* winux::Buffer::detachBuf ( size_t *  size = nullptr)

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

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

在文件 utilities.hpp608 行定义.

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

在文件 utilities.hpp610 行定义.

void winux::Buffer::free ( )

释放缓冲区

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

暴露缓冲区指针

在文件 utilities.hpp592 行定义.

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

暴露缓冲区指针

在文件 utilities.hpp596 行定义.

winux::byte& winux::Buffer::get ( size_t  i)
inline

获取指定索引的字节

在文件 utilities.hpp603 行定义.

winux::byte const& winux::Buffer::get ( size_t  i) const
inline

获取指定索引的字节

在文件 utilities.hpp605 行定义.

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

暴露缓冲区指针

在文件 utilities.hpp585 行定义.

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

暴露缓冲区指针

在文件 utilities.hpp589 行定义.

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

获取容量大小

在文件 utilities.hpp622 行定义.

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

获取数据大小

在文件 utilities.hpp613 行定义.

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

判断是否为一个有效的Buffer

在文件 utilities.hpp628 行定义.

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

移动赋值操作

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

移动赋值操作1

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

获取指定索引的字节

在文件 utilities.hpp599 行定义.

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

获取指定索引的字节

在文件 utilities.hpp601 行定义.

bool winux::Buffer::peekCopy ( bool  copyCapacity = false)

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

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

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

如果新的容量小于数据大小,多余的数据被丢弃

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

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

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

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

在文件 utilities.hpp565 行定义.

函数调用图:

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

获取数据大小

在文件 utilities.hpp616 行定义.

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

转换到AnsiString

在文件 utilities.hpp639 行定义.

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

转换到字符串

在文件 utilities.hpp632 行定义.

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

转换到UnicodeString

在文件 utilities.hpp642 行定义.

友元及相关函数文档

friend class GrowBuffer
friend

在文件 utilities.hpp655 行定义.

类成员变量说明

void* winux::Buffer::_buf
protected

缓冲区

在文件 utilities.hpp650 行定义.

size_t winux::Buffer::_capacity
protected

容量

在文件 utilities.hpp652 行定义.

size_t winux::Buffer::_dataSize
protected

数据的大小

在文件 utilities.hpp651 行定义.

bool winux::Buffer::_isPeek
protected

是否为窥视模式

在文件 utilities.hpp653 行定义.


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