Foxit PDF SDK
CFX_BinaryBuf类 参考

为更高效追加而设计的动态二进制缓冲区。 更多...

类 CFX_BinaryBuf 继承关系图:
CFX_ByteTextBuf CFX_WideTextBuf

Public 成员函数

 CFX_BinaryBuf (IFX_Allocator *pAllocator=0)
 创建空缓冲区的默认构造函数。 更多...
 
 CFX_BinaryBuf (FX_STRSIZE size, IFX_Allocator *pAllocator=0)
 创建空缓冲区的默认构造函数。 更多...
 
 ~CFX_BinaryBuf ()
 析构函数。
 
FX_BOOL AppendBlock (const void *pBuf, FX_STRSIZE size)
 追加一个二进制缓冲区块。 更多...
 
FX_BOOL AppendByte (FX_BYTE byte)
 追加单个字节。 更多...
 
FX_BOOL AppendFill (FX_BYTE byte, FX_STRSIZE count)
 将指定字节追加指定次数。内部不是逐字节处理,而是字节填充处理。 更多...
 
void AppendString (FX_BSTR str)
 追加一个非缓冲字节字符串。 更多...
 
void AttachData (void *pBuf, FX_STRSIZE size)
 附加到缓冲区(此缓冲区将属于此对象)。缓冲区必须由FX_Alloc分配。 更多...
 
void Clear ()
 将二进制缓冲区设置为空。 更多...
 
FX_BOOL CopyData (const void *pBuf, FX_STRSIZE size)
 从另一个缓冲区复制。 更多...
 
void Delete (int start_index, int count)
 删除由参数start_index和count定义的二进制缓冲区中的区间缓冲区。 更多...
 
void DetachBuffer ()
 分离缓冲区。仅将缓冲区指针设置为 NULL,并将二进制缓冲区大小设置为零。 更多...
 
FX_BOOL EstimateSize (FX_STRSIZE size, FX_STRSIZE alloc_step=0)
 更改已分配的缓冲区大小,如果alloc_step非零则设置分配步长。 更多...
 
FX_LPBYTE GetBuffer () const
 获取指向二进制缓冲区的字节指针。 更多...
 
CFX_ByteStringC GetByteString () const
 从缓冲区获取字节字符串。 更多...
 
void GetByteStringL (CFX_ByteStringL &str) const
 从当前缓冲区对象获取字节字符串。 更多...
 
FX_STRSIZE GetSize () const
 获取二进制缓冲区的长度。 更多...
 
FX_BOOL InsertBlock (FX_STRSIZE pos, const void *pBuf, FX_STRSIZE size)
 在指定位置插入二进制缓冲区块。 更多...
 
void TakeOver (CFX_BinaryBuf &other)
 接管另一个缓冲区。 更多...
 

Public 属性

IFX_Allocatorm_pAllocator
 特殊分配器指针。NULL 表示使用默认分配器。
 

详细描述

为更高效追加而设计的动态二进制缓冲区。

构造及析构函数说明

◆ CFX_BinaryBuf() [1/2]

CFX_BinaryBuf::CFX_BinaryBuf ( IFX_Allocator pAllocator = 0)

创建空缓冲区的默认构造函数。

参数
[in]pAllocator分配器。默认值:NULL

◆ CFX_BinaryBuf() [2/2]

CFX_BinaryBuf::CFX_BinaryBuf ( FX_STRSIZE  size,
IFX_Allocator pAllocator = 0 
)

创建空缓冲区的默认构造函数。

参数
[in]size缓冲区大小。
[in]pAllocator分配器。默认值:NULL

成员函数说明

◆ AppendBlock()

FX_BOOL CFX_BinaryBuf::AppendBlock ( const void *  pBuf,
FX_STRSIZE  size 
)

追加一个二进制缓冲区块。

参数
[in]pBuf指向二进制缓冲区块的指针。
[in]size缓冲区块的字节大小。
返回
true 表示成功,而 false 表示失败。

◆ AppendByte()

FX_BOOL CFX_BinaryBuf::AppendByte ( FX_BYTE  byte)
inline

追加单个字节。

参数
[in]byte单个字节。
返回
true 表示成功,而 false 表示失败。

◆ AppendFill()

FX_BOOL CFX_BinaryBuf::AppendFill ( FX_BYTE  byte,
FX_STRSIZE  count 
)

将指定字节追加指定次数。内部不是逐字节处理,而是字节填充处理。

参数
[in]byte输入字节。
[in]count次数。
返回
true 表示成功,而 false 表示失败。

◆ AppendString()

void CFX_BinaryBuf::AppendString ( FX_BSTR  str)
inline

追加一个非缓冲字节字符串。

参数
[in]str非缓冲字节字符串。
返回
无。

◆ AttachData()

void CFX_BinaryBuf::AttachData ( void *  pBuf,
FX_STRSIZE  size 
)

附加到缓冲区(此缓冲区将属于此对象)。缓冲区必须由FX_Alloc分配。

参数
[in]pBuf指向二进制缓冲区的指针。
[in]size缓冲区的字节大小。
返回
无。

◆ Clear()

void CFX_BinaryBuf::Clear ( )

将二进制缓冲区设置为空。

返回
无。

◆ CopyData()

FX_BOOL CFX_BinaryBuf::CopyData ( const void *  pBuf,
FX_STRSIZE  size 
)

从另一个缓冲区复制。

参数
[in]pBuf指向二进制缓冲区的指针。
[in]size输入缓冲区的字节大小。
返回
true 表示成功,而 false 表示失败。

◆ Delete()

void CFX_BinaryBuf::Delete ( int  start_index,
int  count 
)

删除由参数start_index和count定义的二进制缓冲区中的区间缓冲区。

参数
[in]start_index指定要在二进制缓冲区中删除的起始位置的从零开始的索引。
[in]count指定要删除的字节长度。
返回
无。

◆ DetachBuffer()

void CFX_BinaryBuf::DetachBuffer ( )

分离缓冲区。仅将缓冲区指针设置为 NULL,并将二进制缓冲区大小设置为零。

返回
无。

◆ EstimateSize()

FX_BOOL CFX_BinaryBuf::EstimateSize ( FX_STRSIZE  size,
FX_STRSIZE  alloc_step = 0 
)

更改已分配的缓冲区大小,如果alloc_step非零则设置分配步长。

参数
[in]size期望的新大小。
[in]alloc_step新分配步长。如果alloc_step为0,则分配步长不会改变。 默认值:0。
返回
true 表示成功,而 false 表示失败。

◆ GetBuffer()

FX_LPBYTE CFX_BinaryBuf::GetBuffer ( ) const
inline

获取指向二进制缓冲区的字节指针。

返回
指向二进制缓冲区的字节指针。

◆ GetByteString()

CFX_ByteStringC CFX_BinaryBuf::GetByteString ( ) const

从缓冲区获取字节字符串。

返回
字节字符串。

◆ GetByteStringL()

void CFX_BinaryBuf::GetByteStringL ( CFX_ByteStringL &  str) const

从当前缓冲区对象获取字节字符串。

参数
[out]str接收来自当前缓冲区对象的字节字符串。
返回
无。

◆ GetSize()

FX_STRSIZE CFX_BinaryBuf::GetSize ( ) const
inline

获取二进制缓冲区的长度。

返回
二进制缓冲区的字节长度。

◆ InsertBlock()

FX_BOOL CFX_BinaryBuf::InsertBlock ( FX_STRSIZE  pos,
const void *  pBuf,
FX_STRSIZE  size 
)

在指定位置插入二进制缓冲区块。

参数
[in]pos指定二进制缓冲区中位置的从零开始的索引。
[in]pBuf指向二进制缓冲区块的指针。
[in]size缓冲区块的字节大小。
返回
true 表示成功,而 false 表示失败。

◆ TakeOver()

void CFX_BinaryBuf::TakeOver ( CFX_BinaryBuf other)

接管另一个缓冲区。

此函数附加到源CFX_BinaryBuf对象的缓冲区。源CFX_BinaryBuf对象 已分离缓冲区。

参数
[in]otherCFX_BinaryBuf对象的引用。
返回
无。