Foxit PDF SDK
CFX_BaseSegmentedArray类 参考
类 CFX_BaseSegmentedArray 继承关系图:
CFX_SegmentedArray< ElementType >

Public 成员函数

 CFX_BaseSegmentedArray (int unit_size=1, int segment_units=512, int index_size=8, IFX_Allocator *pAllocator=0)
 使用指定的单元大小、段单元数和索引级别数进行构造。 更多...
 
 ~CFX_BaseSegmentedArray ()
 析构函数。
 
void * Add ()
 添加一个元素。 更多...
 
void Delete (int index, int count=1)
 删除一定数量的元素。 更多...
 
void * GetAt (int index) const
 获取指向元素数据的无类型指针。 更多...
 
int GetSegmentSize () const
 获取每段中元素的数量。 更多...
 
int GetSize () const
 获取数组中元素的数量。 更多...
 
int GetUnitSize () const
 获取每个元素的字节数。 更多...
 
void * Iterate (FX_BOOL(*callback)(void *param, void *pData), void *param) const
 遍历所有单元,对每个单元执行回调函数。 更多...
 
void RemoveAll ()
 移除数组中的所有元素。 更多...
 
void SetUnitSize (int unit_size, int segment_units, int index_size=8)
 更改单元大小和段单元数。只能在数组为空时调用。 更多...
 

Public 属性

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

详细描述

表示分段分配的可增长数组的类。

构造及析构函数说明

◆ CFX_BaseSegmentedArray()

CFX_BaseSegmentedArray::CFX_BaseSegmentedArray ( int  unit_size = 1,
int  segment_units = 512,
int  index_size = 8,
IFX_Allocator pAllocator = 0 
)

使用指定的单元大小、段单元数和索引级别数进行构造。

参数
[in]unit_size指定的单元大小。
[in]segment_units每段中的单元数,必须小于32768。
[in]index_size数组中段的数量(索引级别),必须大于1且小于256。
[in]pAllocator此类中使用的分配器。传入NULL使用默认分配器。

成员函数说明

◆ Add()

void* CFX_BaseSegmentedArray::Add ( )

添加一个元素。

返回
指向添加元素的无类型指针。

◆ Delete()

void CFX_BaseSegmentedArray::Delete ( int  index,
int  count = 1 
)

删除一定数量的元素。

参数
[in]index指定数组中要删除的起始元素的从零开始的索引。
[in]count指定要删除的元素数量。
返回
无。

◆ GetAt()

void* CFX_BaseSegmentedArray::GetAt ( int  index) const

获取指向元素数据的无类型指针。

参数
[in]index指定元素的从零开始的索引。
返回
指向元素数据的无类型指针。

◆ GetSegmentSize()

int CFX_BaseSegmentedArray::GetSegmentSize ( ) const
inline

获取每段中元素的数量。

返回
每段中元素的数量。

◆ GetSize()

int CFX_BaseSegmentedArray::GetSize ( ) const
inline

获取数组中元素的数量。

返回
数组中元素的数量。

◆ GetUnitSize()

int CFX_BaseSegmentedArray::GetUnitSize ( ) const
inline

获取每个元素的字节数。

返回
每个元素的字节数。

◆ Iterate()

void* CFX_BaseSegmentedArray::Iterate ( FX_BOOL(*)(void *param, void *pData)  callback,
void *  param 
) const

遍历所有单元,对每个单元执行回调函数。

参数
[in]callback回调函数。
[in]param参数。
返回
停止时的当前单元,如果所有单元都已遍历则返回NULL。

◆ RemoveAll()

void CFX_BaseSegmentedArray::RemoveAll ( )

移除数组中的所有元素。

返回
无。

◆ SetUnitSize()

void CFX_BaseSegmentedArray::SetUnitSize ( int  unit_size,
int  segment_units,
int  index_size = 8 
)

更改单元大小和段单元数。只能在数组为空时调用。

参数
[in]unit_size新的单元大小。
[in]segment_units每段中新的单元数。
[in]index_size新的索引级别数。
返回
无。