Foxit PDF SDK

Public 成员函数 | Public 属性 | 所有成员列表
CFX_BinaryBuf类 参考
FXCRT

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

类 CFX_BinaryBuf 继承关系图:

## 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_Allocator * | m_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] | other | CFX_BinaryBuf对象的引用。

返回
  无。