xrtTypedTreeInit
初始化、创建、结束或销毁一个拥有键值的空类型树。
| 参数 | 说明 |
|---|---|
| xtypedtree* pTree | 树对象 |
| const xrttype* pKeyType | KeyTye 参数 |
| const xrttype* pValueType | ValueTye 参数 |
示例已编译验证
typedtreeinit obj; xrtTypedTreeInit(&obj, pTree, pKeyType, pValueType);
xrtTypedTreeCreate
XRT_API xtypedtree* xrtTypedTreeCreate( const xrttype* pKeyType, const xrttype* pValueType );
示例已编译验证
/* XRT_API xtypedtree* xrtTypedTreeCreate( const xrttype* pKeyType, const xrttype* pValueType ); */ xhandle* h = xrtTypedTreeCreate();
xrtTypedTreeUnit
XRT_API void xrtTypedTreeUnit(xtypedtree* pTree);
示例已编译验证
xrtTypedTreeUnit(obj);
xrtTypedTreeDestroy
XRT_API void xrtTypedTreeDestroy(xtypedtree* pTree);
示例已编译验证
xrtTypedTreeDestroy(obj);
xrtTypedTreeKeyType
返回借用键类型、值类型和当前键值数量。
| 参数 | 说明 |
|---|---|
| const xtypedtree* pTree | 树对象 |
示例已编译验证
/* 返回借用键类型、值类型和当前键值数量。 */ result = xrtTypedTreeKeyType(pTree);
xrtTypedTreeValueType
XRT_API const xrttype* xrtTypedTreeValueType(const xtypedtree* pTree);
示例已编译验证
/* XRT_API const xrttype* xrtTypedTreeValueType(const xtypedtree* pTree); */ result = xrtTypedTreeValueType();
xrtTypedTreeCount
XRT_API size_t xrtTypedTreeCount(const xtypedtree* pTree);
示例已编译验证
/* XRT_API size_t xrtTypedTreeCount(const xtypedtree* pTree); */ result = xrtTypedTreeCount();
xrtTypedTreeClear
清空全部键值,或释放多余空节点池页。
| 参数 | 说明 |
|---|---|
| xtypedtree* pTree | 树对象 |
示例已编译验证
/* 清空全部键值,或释放多余空节点池页。 */ result = xrtTypedTreeClear(pTree);
xrtTypedTreeTrim
XRT_API size_t xrtTypedTreeTrim(xtypedtree* pTree, size_t iRetainEmpty);
示例已编译验证
/* XRT_API size_t xrtTypedTreeTrim(xtypedtree* pTree, size_t iRetainEmpty); */ result = xrtTypedTreeTrim();
xrtTypedTreeGetOrAdd
返回已有值槽,或复制键并按值类型初始化一个新值。
| 参数 | 说明 |
|---|---|
| xtypedtree* pTree | 树对象 |
| const void* pKey | 键 |
| bool* pNew | New 参数 |
示例已编译验证
/* 返回已有值槽,或复制键并按值类型初始化一个新值。 */ result = xrtTypedTreeGetOrAdd(pTree, pKey, pNew);
xrtTypedTreeSet
失败原子地复制设置,或移动外部已初始化值并清空来源。
| 参数 | 说明 |
|---|---|
| xtypedtree* pTree | 树对象 |
| const void* pKey | 键 |
| const void* pValue | 值 |
示例已编译验证
/* 失败原子地复制设置,或移动外部已初始化值并清空来源。 */ result = xrtTypedTreeSet(pTree, pKey, pValue);
xrtTypedTreeSetTake
XRT_API bool xrtTypedTreeSetTake( xtypedtree* pTree, const void* pKey, ptr pValue );
示例已编译验证
/* XRT_API bool xrtTypedTreeSetTake( xtypedtree* pTree, const void* pKey, ptr pValue ); */ result = xrtTypedTreeSetTake();
xrtTypedTreeGet
返回指定键的可写或只读借用值;缺失是正常结果。
| 参数 | 说明 |
|---|---|
| xtypedtree* pTree | 树对象 |
| const void* pKey | 键 |
示例已编译验证
/* 返回指定键的可写或只读借用值;缺失是正常结果。 */ result = xrtTypedTreeGet(pTree, pKey);
xrtTypedTreeConstGet
XRT_API const void* xrtTypedTreeConstGet( const xtypedtree* pTree, const void* pKey );
示例已编译验证
/* XRT_API const void* xrtTypedTreeConstGet( const xtypedtree* pTree, const void* pKey ); */ result = xrtTypedTreeConstGet();
xrtTypedTreeHas
XRT_API bool xrtTypedTreeHas( const xtypedtree* pTree, const void* pKey );
示例已编译验证
/* XRT_API bool xrtTypedTreeHas( const xtypedtree* pTree, const void* pKey ); */ result = xrtTypedTreeHas();
xrtTypedTreeStoredKey
返回与查询等价的内部规范键,缺失时返回空。
| 参数 | 说明 |
|---|---|
| const xtypedtree* pTree | 树对象 |
| const void* pKey | 键 |
示例已编译验证
/* 返回与查询等价的内部规范键,缺失时返回空。 */ result = xrtTypedTreeStoredKey(pTree, pKey);
xrtTypedTreeRemove
删除指定键值,或把值移动到外部已初始化输出后删除。
| 参数 | 说明 |
|---|---|
| xtypedtree* pTree | 树对象 |
| const void* pKey | 键 |
示例已编译验证
/* 删除指定键值,或把值移动到外部已初始化输出后删除。 */ result = xrtTypedTreeRemove(pTree, pKey);
xrtTypedTreeTake
XRT_API bool xrtTypedTreeTake( xtypedtree* pTree, const void* pKey, ptr pValue );
示例已编译验证
/* XRT_API bool xrtTypedTreeTake( xtypedtree* pTree, const void* pKey, ptr pValue ); */ result = xrtTypedTreeTake();
xrtTypedTreeFirst
返回首尾或上下界值,并可返回对应的内部规范键。
| 参数 | 说明 |
|---|---|
| xtypedtree* pTree | 树对象 |
| const void** pKey | 键 |
示例已编译验证
/* 返回首尾或上下界值,并可返回对应的内部规范键。 */ result = xrtTypedTreeFirst(pTree, pKey);
xrtTypedTreeLast
XRT_API ptr xrtTypedTreeLast(xtypedtree* pTree, const void** pKey);
示例已编译验证
/* XRT_API ptr xrtTypedTreeLast(xtypedtree* pTree, const void** pKey); */ result = xrtTypedTreeLast();
xrtTypedTreeLowerBound
XRT_API ptr xrtTypedTreeLowerBound( xtypedtree* pTree, const void* pSearchKey, const void** pStoredKey );
示例已编译验证
/* XRT_API ptr xrtTypedTreeLowerBound( xtypedtree* pTree, const void* pSearchKey, const void** pStoredKey ); */ result = xrtTypedTreeLowerBound();
xrtTypedTreeUpperBound
XRT_API ptr xrtTypedTreeUpperBound( xtypedtree* pTree, const void* pSearchKey, const void** pStoredKey );
示例已编译验证
/* XRT_API ptr xrtTypedTreeUpperBound( xtypedtree* pTree, const void* pSearchKey, const void** pStoredKey ); */ result = xrtTypedTreeUpperBound();
xrtTypedTreeIterBegin
启动完整或从指定边界开始的正反零分配迭代。
| 参数 | 说明 |
|---|---|
| xtypedtree* pTree | 树对象 |
| xtypedtreeiter* pIterator | 迭代器 |
示例已编译验证
/* 启动完整或从指定边界开始的正反零分配迭代。 */ result = xrtTypedTreeIterBegin(pTree, pIterator);
xrtTypedTreeIterRBegin
XRT_API bool xrtTypedTreeIterRBegin( xtypedtree* pTree, xtypedtreeiter* pIterator );
示例已编译验证
/* XRT_API bool xrtTypedTreeIterRBegin( xtypedtree* pTree, xtypedtreeiter* pIterator ); */ result = xrtTypedTreeIterRBegin();
xrtTypedTreeIterFrom
XRT_API bool xrtTypedTreeIterFrom( xtypedtree* pTree, const void* pKey, xtypedtreeiter* pIterator );
示例已编译验证
/* XRT_API bool xrtTypedTreeIterFrom( xtypedtree* pTree, const void* pKey, xtypedtreeiter* pIterator ); */ result = xrtTypedTreeIterFrom();
xrtTypedTreeIterRFrom
XRT_API bool xrtTypedTreeIterRFrom( xtypedtree* pTree, const void* pKey, xtypedtreeiter* pIterator );
示例已编译验证
/* XRT_API bool xrtTypedTreeIterRFrom( xtypedtree* pTree, const void* pKey, xtypedtreeiter* pIterator ); */ result = xrtTypedTreeIterRFrom();
xrtTypedTreeIterNext
XRT_API ptr xrtTypedTreeIterNext( xtypedtreeiter* pIterator, const void** pKey );
示例已编译验证
/* XRT_API ptr xrtTypedTreeIterNext( xtypedtreeiter* pIterator, const void** pKey ); */ result = xrtTypedTreeIterNext();
xrtTypedTreeIterEnd
XRT_API void xrtTypedTreeIterEnd(xtypedtreeiter* pIterator);
示例已编译验证
/* XRT_API void xrtTypedTreeIterEnd(xtypedtreeiter* pIterator); */ result = xrtTypedTreeIterEnd();
xrtTypedTreeMerge
事务合并同类型树、深复制树或比较完整有序键值内容。
| 参数 | 说明 |
|---|---|
| xtypedtree* pTarget | 目标 |
| const xtypedtree* pSource | 来源 |
| bool bReplace | 是否替换 |
示例已编译验证
/* 事务合并同类型树、深复制树或比较完整有序键值内容。 */ result = xrtTypedTreeMerge(pTarget, pSource, bReplace);
xrtTypedTreeClone
XRT_API xtypedtree* xrtTypedTreeClone(const xtypedtree* pTree);
示例已编译验证
/* XRT_API xtypedtree* xrtTypedTreeClone(const xtypedtree* pTree); */ result = xrtTypedTreeClone();
xrtTypedTreeEquals
XRT_API bool xrtTypedTreeEquals( const xtypedtree* pLeft, const xtypedtree* pRight );
示例已编译验证
/* XRT_API bool xrtTypedTreeEquals( const xtypedtree* pLeft, const xtypedtree* pRight ); */ result = xrtTypedTreeEquals();
xrtTypedTreeTypeValidate
验证对象树类型描述,并返回其共享实例操作表。
| 参数 | 说明 |
|---|---|
| const xrttype* pType | 类型 |
示例已编译验证
/* 验证对象树类型描述,并返回其共享实例操作表。 */ result = xrtTypedTreeTypeValidate(pType);
xrtTypedTreeInstanceOps
XRT_API const xrtinstanceops* xrtTypedTreeInstanceOps(void);
示例已编译验证
/* XRT_API const xrtinstanceops* xrtTypedTreeInstanceOps(void); */ result = xrtTypedTreeInstanceOps();