acl
3.5.3.0
|
类 | |
struct | ACL_ARRAY |
宏定义 | |
#define | acl_array_destroy acl_array_free |
#define | acl_array_insert acl_array_succ_insert |
类型定义 | |
typedef struct ACL_ARRAY | ACL_ARRAY |
函数 | |
ACL_API ACL_ARRAY * | acl_array_create (int init_size) |
ACL_API ACL_ARRAY * | acl_array_dbuf_create (int init_size, ACL_DBUF_POOL *dbuf) |
ACL_API void | acl_array_clean (ACL_ARRAY *a, void(*free_fn)(void *)) |
ACL_API void | acl_array_free (ACL_ARRAY *a, void(*free_fn)(void *)) |
ACL_API int | acl_array_append (ACL_ARRAY *a, void *obj) |
ACL_API int | acl_array_prepend (ACL_ARRAY *a, void *obj) |
ACL_API int | acl_array_pred_insert (ACL_ARRAY *a, int position, void *obj) |
ACL_API int | acl_array_succ_insert (ACL_ARRAY *a, int position, void *obj) |
ACL_API int | acl_array_delete_idx (ACL_ARRAY *a, int position, void(*free_fn)(void *)) |
ACL_API int | acl_array_delete (ACL_ARRAY *a, int position, void(*free_fn)(void *)) |
ACL_API int | acl_array_delete_obj (ACL_ARRAY *a, void *obj, void(*free_fn)(void *)) |
ACL_API int | acl_array_delete_range (ACL_ARRAY *a, int ibegin, int iend, void(*free_fn)(void *)) |
ACL_API int | acl_array_mv_idx (ACL_ARRAY *a, int ito, int ifrom, void(*free_fn)(void *)) |
ACL_API void | acl_array_pre_append (ACL_ARRAY *a, int app_count) |
ACL_API void * | acl_array_index (const ACL_ARRAY *a, int idx) |
ACL_API int | acl_array_size (const ACL_ARRAY *a) |
#define acl_array_destroy acl_array_free |
在文件 acl_array.h 第 74 行定义.
#define acl_array_insert acl_array_succ_insert |
在文件 acl_array.h 第 109 行定义.
动态数组类型定义
在文件 acl_array.h 第 15 行定义.
ACL_API int acl_array_append | ( | ACL_ARRAY * | a, |
void * | obj | ||
) |
向动态数组尾部添加动态成员变量
a | {ACL_ARRAY*} 动态数组指针 |
obj | {void*} 动态成员变量 |
ACL_API void acl_array_clean | ( | ACL_ARRAY * | a, |
void(*)(void *) | free_fn | ||
) |
释放掉动态数组内的成员变量,但并不释放动态数组对象
a | {ACL_ARRAY*} 动态数组指针 |
free_fn | {void (*)(void*)} 用于释放动态数组内成员变量的释放函数指针 |
ACL_API ACL_ARRAY* acl_array_create | ( | int | init_size | ) |
创建一个动态数组
init_size | {int} 动态数组的初始大小 |
ACL_API ACL_ARRAY* acl_array_dbuf_create | ( | int | init_size, |
ACL_DBUF_POOL * | dbuf | ||
) |
创建一个动态数组
init_size | {int} 动态数组的初始大小 |
dbuf | {ACL_DBUF_POOL*} 非空时, 则内存(含数组对象本身)均在上面分配 |
ACL_API int acl_array_delete | ( | ACL_ARRAY * | a, |
int | position, | ||
void(*)(void *) | free_fn | ||
) |
从动态数组中的指定位置删除某个对象,删除后数组内元素的先后顺序有可能发生了改变, 因为删除后会自动将数组中最后的元素移至该位置处
a | {ACL_ARRAY*} 动态数组指针 |
position | {int} 某个位置,不得越界 |
free_fn | {void (*)(void*)} 用于释放动态数组内成员变量的释放函数指针,如果该 指针为空,则不释放,否则用此函数进行释放动态对象 |
ACL_API int acl_array_delete_idx | ( | ACL_ARRAY * | a, |
int | position, | ||
void(*)(void *) | free_fn | ||
) |
从动态数组中的指定位置删除某个动态对象, 删除后数组内元素的先后顺序保持不变, 如果被删除位置在中间某个位置,为了保证元素的顺序性,内部将被删除元素后的所有元素 都前移一个位置
a | {ACL_ARRAY*} 动态数组指针 |
position | {int} 某个位置,不得越界 |
free_fn | {void (*)(void*)} 用于释放动态数组内成员变量的释放函数指针,如果该 指针为空,则不释放,否则用此函数进行释放动态对象 |
ACL_API int acl_array_delete_obj | ( | ACL_ARRAY * | a, |
void * | obj, | ||
void(*)(void *) | free_fn | ||
) |
从动态数组中删除指定指针地址的动态对象, 删除后数组内元素的先后顺序保持不变 如果被删除位置在中间某个位置,为了保证元素的顺序性内部,将被删除元素后的所有元素 都前移一个位置
a | {ACL_ARRAY*} 动态数组指针 |
obj | {void*} 动态对象指针地址 |
free_fn | {void (*)(void*)} 用于释放动态数组内成员变量的释放函数指针,如果该 指针为空,则不释放,否则用此函数进行释放动态对象 |
ACL_API int acl_array_delete_range | ( | ACL_ARRAY * | a, |
int | ibegin, | ||
int | iend, | ||
void(*)(void *) | free_fn | ||
) |
从动态数组中删除某个下标范围的动态对象
a | {ACL_ARRAY*} 动态数组指针 |
ibegin | {int} 开始下标位置 |
iend | {int} 结束下标位置 |
free_fn | {void (*)(void*)} 用于释放动态数组内成员变量的释放函数指针,如果该 指针为空,则不释放,否则用此函数进行释放动态对象 |
ACL_API void acl_array_free | ( | ACL_ARRAY * | a, |
void(*)(void *) | free_fn | ||
) |
释放掉动态数组内的成员变量,并释放动态数组对象,当数组对象创建 dbuf 对象 时,则该数组对象的释放将会在释放 dbuf 时被释放
a | {ACL_ARRAY*} 动态数组指针 |
free_fn | {void (*)(void*)} 用于释放动态数组内成员变量的释放函数指针 |
ACL_API void* acl_array_index | ( | const ACL_ARRAY * | a, |
int | idx | ||
) |
从动态数组中的某个下标位置取出动态对象
a | {ACL_ARRAY*} 动态数组指针 |
idx | {int} 下标位置,不能越界,否则返回-1 |
ACL_API int acl_array_mv_idx | ( | ACL_ARRAY * | a, |
int | ito, | ||
int | ifrom, | ||
void(*)(void *) | free_fn | ||
) |
移动动态数组中的对象
a | {ACL_ARRAY*} 动态数组指针 |
ito | {int} 移动至目标下标位置 |
ifrom | {int} 从此下标位置开始移动 |
free_fn | {void (*)(void*)} 用于释放动态数组内成员变量的释放函数指针,如果该 指针为空,则不释放,否则用此函数进行释放动态对象被释放的动态对象区间为 [idx_obj_begin, idx_src_begin), 为一半开半闭区间 |
ACL_API void acl_array_pre_append | ( | ACL_ARRAY * | a, |
int | app_count | ||
) |
预先保证动态数组的空间长度
a | {ACL_ARRAY*} 动态数组指针 |
app_count | {int} 需要动态数组至少有 app_count 个空闲位置 |
ACL_API int acl_array_pred_insert | ( | ACL_ARRAY * | a, |
int | position, | ||
void * | obj | ||
) |
向动态数组中指定位置前添加动态成员变量(该结点及以后所有结点都后移一个位置)
a | {ACL_ARRAY*} 动态数组指针 |
position | {int} 某个位置,不得越界 |
obj | {void*} 动态成员变量 |
ACL_API int acl_array_prepend | ( | ACL_ARRAY * | a, |
void * | obj | ||
) |
向动态数组头部添加动态成员变量
a | {ACL_ARRAY*} 动态数组指针 |
obj | {void*} 动态成员变量 |
ACL_API int acl_array_size | ( | const ACL_ARRAY * | a | ) |
获得当前动态数组中动态对象的个数
a | {ACL_ARRAY*} 动态数组指针 |
ACL_API int acl_array_succ_insert | ( | ACL_ARRAY * | a, |
int | position, | ||
void * | obj | ||
) |
向动态数组中指定位置后添加动态成员变量(该结点以后所有结点都后移一个位置)
a | {ACL_ARRAY*} 动态数组指针 |
position | {int} 某个位置,不得越界 |
obj | {void*} 动态成员变量 |