acl  3.5.3.0
acl_dlink.h 文件参考
#include "acl_define.h"
#include "acl_array.h"
#include "acl_iterator.h"
+ acl_dlink.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  ACL_DITEM
 
struct  ACL_DLINK
 

类型定义

typedef struct ACL_DLINK ACL_DLINK
 

函数

ACL_API ACL_DLINKacl_dlink_create (int nsize)
 
ACL_API void acl_dlink_free (ACL_DLINK *plink)
 
ACL_API ACL_DITEMacl_dlink_lookup_by_item (const ACL_DLINK *plink, ACL_DITEM *pitem)
 
ACL_API ACL_DITEMacl_dlink_lookup2_by_item (const ACL_DLINK *plink, ACL_DITEM *pitem, int *pidx)
 
ACL_API ACL_DITEMacl_dlink_lookup (const ACL_DLINK *plink, acl_int64 n)
 
ACL_API ACL_DITEMacl_dlink_lookup2 (const ACL_DLINK *plink, acl_int64 n, int *pidx)
 
ACL_API ACL_DITEMacl_dlink_lookup_range (const ACL_DLINK *plink, acl_int64 begin, acl_int64 end, int *pidx)
 
ACL_API ACL_DITEMacl_dlink_lookup_larger (const ACL_DLINK *plink, acl_int64 off, int *pidx)
 
ACL_API ACL_DITEMacl_dlink_lookup_lower (const ACL_DLINK *plink, acl_int64 off, int *pidx)
 
ACL_API ACL_DITEMacl_dlink_insert (ACL_DLINK *plink, acl_int64 begin, acl_int64 end)
 
ACL_API int acl_dlink_delete (ACL_DLINK *plink, acl_int64 n)
 
ACL_API int acl_dlink_delete_by_item (ACL_DLINK *plink, ACL_DITEM *pitem)
 
ACL_API ACL_DITEMacl_dlink_modify (ACL_DLINK *plink, acl_int64 begin, acl_int64 end)
 
ACL_API int acl_dlink_delete_range (ACL_DLINK *plink, acl_int64 begin, acl_int64 end)
 
ACL_API ACL_DITEMacl_dlink_index (const ACL_DLINK *plink, int idx)
 
ACL_API int acl_dlink_size (const ACL_DLINK *plink)
 
ACL_API int acl_dlink_list (const ACL_DLINK *plink)
 

类型定义说明

◆ ACL_DLINK

typedef struct ACL_DLINK ACL_DLINK

二分块数据链类型定义

函数说明

◆ acl_dlink_create()

ACL_API ACL_DLINK* acl_dlink_create ( int  nsize)

创建一个二分块数据链对象

参数
nsize{int} 初始数组大小
返回
{ACL_DLINK*} 二分块数据链对象

◆ acl_dlink_delete()

ACL_API int acl_dlink_delete ( ACL_DLINK plink,
acl_int64  n 
)

从二分块数据链中删除包含某个给定值的数据块元素

参数
plink{ACL_DLINK*} 二分块数据链对象指针
n{acl_int64} 给定位置值
返回
{int} 0:表示OK,-1: 表示输入参数非法或不存在

◆ acl_dlink_delete_by_item()

ACL_API int acl_dlink_delete_by_item ( ACL_DLINK plink,
ACL_DITEM pitem 
)

根据数据块元素从二分块数据链中删除该数据块元素

参数
plink{ACL_DLINK*} 二分块数据链对象指针
pitem{ACL_DITEM*} 数据块元素
返回
{int} 0:表示OK,-1: 表示输入参数非法

◆ acl_dlink_delete_range()

ACL_API int acl_dlink_delete_range ( ACL_DLINK plink,
acl_int64  begin,
acl_int64  end 
)

从二分数据链中删除某个数值范围的数据块集合, 删除后有可能会在内部增加新的数据块元素

参数
plink{ACL_DLINK*} 二分块数据链对象指针
begin{acl_int64} 需要删除范围的起始位置
end{acl_int64} 需要删除范围的结束位置
返回
{int} 0:表示OK,-1: 表示输入参数非法

◆ acl_dlink_free()

ACL_API void acl_dlink_free ( ACL_DLINK plink)

释放一个二分块数据链对象

参数
plink{ACL_DLINK*} 二分块数据链对象指针

◆ acl_dlink_index()

ACL_API ACL_DITEM* acl_dlink_index ( const ACL_DLINK plink,
int  idx 
)

返回某下标位置的数据块元素地址

参数
plink{const ACL_DLINK*} 二分块数据链对象指针
idx{int} 下标位置
返回
{ACL_DITEM*} NULL: 下标越界; != NULL: 数据块元素地址

◆ acl_dlink_insert()

ACL_API ACL_DITEM* acl_dlink_insert ( ACL_DLINK plink,
acl_int64  begin,
acl_int64  end 
)

向二分块数据链中添加起始、结束数据块

参数
plink{ACL_DLINK*} 二分块数据链对象指针
begin{acl_int64} 给定起始位置值
end{acl_int64} 给定结束位置值
返回
{ACL_DITEM*} 新创建的数据块元素

◆ acl_dlink_list()

ACL_API int acl_dlink_list ( const ACL_DLINK plink)

(调试用)打印二分数据链中所有数据块的起始、结束位置等信息

参数
plink{const ACL_DLINK*} 二分块数据链对象指针
返回
{int} 0:表示OK,-1: 表示输入参数非法

◆ acl_dlink_lookup()

ACL_API ACL_DITEM* acl_dlink_lookup ( const ACL_DLINK plink,
acl_int64  n 
)

从二分块数据链中查询某个值所对应的数据块元素地址

参数
plink{const ACL_DLINK*} 二分块数据链对象指针
n{acl_int64} 查询值
返回
{ACL_DITEM*} 数据块元素

◆ acl_dlink_lookup2()

ACL_API ACL_DITEM* acl_dlink_lookup2 ( const ACL_DLINK plink,
acl_int64  n,
int *  pidx 
)

从二分块数据链中查询某个值所对应的数据块元素地址并记录其下标位置

参数
plink{const ACL_DLINK*} 二分块数据链对象指针
n{acl_int64} 查询值
pidx{int*} 存储查询数据元素结果在二分数据链中的下标位置
返回
{ACL_DITEM*} 数据块元素

◆ acl_dlink_lookup2_by_item()

ACL_API ACL_DITEM* acl_dlink_lookup2_by_item ( const ACL_DLINK plink,
ACL_DITEM pitem,
int *  pidx 
)

根据数据元素查找二分块数据链中的数据元素

参数
plink{const ACL_DLINK*} 二分块数据链对象指针
pitem{ACL_DITEM*} 数据块元素
pidx{int*} 存储查询数据元素结果在二分数据链中的下标位置
返回
{ACL_DITEM*} 数据块元素

◆ acl_dlink_lookup_by_item()

ACL_API ACL_DITEM* acl_dlink_lookup_by_item ( const ACL_DLINK plink,
ACL_DITEM pitem 
)

根据二分块数据元素查找其是否正在于二分块数据链中

参数
plink{ACL_DLINK*} 二分块数据链对象指针
pitem{ACL_DITEM*} 数据块元素
返回
{ACL_DITEM*} 数据块元素

◆ acl_dlink_lookup_larger()

ACL_API ACL_DITEM* acl_dlink_lookup_larger ( const ACL_DLINK plink,
acl_int64  off,
int *  pidx 
)

从二分块数据链中查询第一个大于某个给定值的数据块元素并记录下标位置

参数
plink{const ACL_DLINK*} 二分块数据链对象指针
off{acl_int64} 给定比较值
pidx{int*} 存储查询数据元素结果在二分数据链中的下标位置
返回
{ACL_DITEM*} 数据块元素

◆ acl_dlink_lookup_lower()

ACL_API ACL_DITEM* acl_dlink_lookup_lower ( const ACL_DLINK plink,
acl_int64  off,
int *  pidx 
)

从二分块数据链中查询第一个小于某个给定值的数据块元素并记录下标位置

参数
plink{const ACL_DLINK*} 二分块数据链对象指针
off{acl_int64} 给定比较值
pidx{int*} 存储查询数据元素结果在二分数据链中的下标位置
返回
{ACL_DITEM*} 数据块元素

◆ acl_dlink_lookup_range()

ACL_API ACL_DITEM* acl_dlink_lookup_range ( const ACL_DLINK plink,
acl_int64  begin,
acl_int64  end,
int *  pidx 
)

从二分块数据链中查询某个范围的数据块元素地址并记录其下标位置

参数
plink{const ACL_DLINK*} 二分块数据链对象指针
begin{acl_int64} 查询范围的起始位置值
end{acl_int64} 查询范围的结束位置值
pidx{int*} 存储查询数据元素结果在二分数据链中的下标位置
返回
{ACL_DITEM*} 数据块元素

◆ acl_dlink_modify()

ACL_API ACL_DITEM* acl_dlink_modify ( ACL_DLINK plink,
acl_int64  begin,
acl_int64  end 
)

功能同 acl_dlink_insert @DEPRECATED 此函数将来也许不再提供

◆ acl_dlink_size()

ACL_API int acl_dlink_size ( const ACL_DLINK plink)

获得当前二分数据链中所有数据块的个数总和

参数
plink{const ACL_DLINK*} 二分块数据链对象指针
返回
{int} 数据块的个数