acl
3.5.3.0
|
类 | |
struct | ACL_STACK |
宏定义 | |
#define | acl_stack_push acl_stack_append |
#define | acl_stack_pop_tail acl_stack_pop |
类型定义 | |
typedef struct ACL_STACK | ACL_STACK |
函数 | |
ACL_API void | acl_stack_space (ACL_STACK *s, int count) |
ACL_API ACL_STACK * | acl_stack_create (int init_size) |
ACL_API void | acl_stack_clean (ACL_STACK *s, void(*free_fn)(void *)) |
ACL_API void | acl_stack_destroy (ACL_STACK *s, void(*free_fn)(void *)) |
ACL_API void | acl_stack_append (ACL_STACK *s, void *obj) |
ACL_API void | acl_stack_prepend (ACL_STACK *s, void *obj) |
ACL_API void | acl_stack_delete (ACL_STACK *s, int position, void(*free_fn)(void *)) |
ACL_API void | acl_stack_delete_obj (ACL_STACK *s, void *obj, void(*free_fn)(void *)) |
ACL_API void * | acl_stack_index (ACL_STACK *s, int position) |
ACL_API int | acl_stack_size (const ACL_STACK *s) |
ACL_API void * | acl_stack_pop (ACL_STACK *s) |
ACL_API void * | acl_stack_top (ACL_STACK *s) |
#define acl_stack_pop_tail acl_stack_pop |
在文件 acl_stack.h 第 126 行定义.
#define acl_stack_push acl_stack_append |
在文件 acl_stack.h 第 80 行定义.
在文件 acl_stack.h 第 13 行定义.
ACL_API void acl_stack_append | ( | ACL_STACK * | s, |
void * | obj | ||
) |
往栈容器尾部添加新的对象
s | {ACL_STACK*} 创建的栈容器对象 |
obj | {void*} |
ACL_API void acl_stack_clean | ( | ACL_STACK * | s, |
void(*)(void *) | free_fn | ||
) |
清空栈里的对象,但不销毁栈容器对象
s | {ACL_STACK*} 创建的栈容器对象 |
free_fn | {void (*)(void*)} 如果不为空,则会用此函数回调栈里的每一个对象 |
ACL_API ACL_STACK* acl_stack_create | ( | int | init_size | ) |
创建一个栈容器对象
init_size | {int} 栈的初始化空间大小,必须 > 0 |
ACL_API void acl_stack_delete | ( | ACL_STACK * | s, |
int | position, | ||
void(*)(void *) | free_fn | ||
) |
从栈容器里删除某个对象
s | {ACL_STACK*} 创建的栈容器对象 |
position | {int} 栈容器的位置 |
free_fn | {void (*)(void*)} 如果不为空,则用此函数回调被删除对象 |
ACL_API void acl_stack_delete_obj | ( | ACL_STACK * | s, |
void * | obj, | ||
void(*)(void *) | free_fn | ||
) |
s | {ACL_STACK*} 创建的栈容器对象 |
obj | {void*} 被删除对象的地址 |
free_fn | {void (*)(void*)} 如果不为空,则用此函数回调被删除对象 |
ACL_API void acl_stack_destroy | ( | ACL_STACK * | s, |
void(*)(void *) | free_fn | ||
) |
清空栈容器里的对象并销毁栈容器
s | {ACL_STACK*} 创建的栈容器对象 |
free_fn | {void (*)(void*)} 如果不为空,则会用此函数回调栈里的每一个对象 |
ACL_API void* acl_stack_index | ( | ACL_STACK * | s, |
int | position | ||
) |
返回栈容器中某个位置的对象地址
s | {ACL_STACK*} 创建的栈容器对象 |
position | {int} 栈容器中的位置 |
ACL_API void* acl_stack_pop | ( | ACL_STACK * | s | ) |
返回栈中尾部的对象地址, 同时将该对象从栈中移除
s | {ACL_STACK*} 创建的栈容器对象 |
ACL_API void acl_stack_prepend | ( | ACL_STACK * | s, |
void * | obj | ||
) |
往栈容器的头部添加新的对象
s | {ACL_STACK*} 创建的栈容器对象 |
obj | {void*} 注:此操作的效率要比 acl_stack_append 低,因为其内容需要移动所有的对象位置 |
ACL_API int acl_stack_size | ( | const ACL_STACK * | s | ) |
返回栈容器中当前的对象个数
s | {ACL_STACK*} 创建的栈容器对象 |
ACL_API void acl_stack_space | ( | ACL_STACK * | s, |
int | count | ||
) |
增加栈空间大小
s | {ACL_STACK*} 创建的栈容器对象 |
count | {int} 增加的空间大小 |
ACL_API void* acl_stack_top | ( | ACL_STACK * | s | ) |
返回栈中最后添加的对象地址, 但不将该对象从栈中移除
s | {ACL_STACK*} 创建的栈容器对象 |