xrtTypedTreeInit

初始化、创建、结束或销毁一个拥有键值的空类型树。

bool xrtTypedTreeInit( xtypedtree* pTree, const xrttype* pKeyType, const xrttype* pValueType );
参数说明
xtypedtree* pTree树对象
const xrttype* pKeyTypeKeyTye 参数
const xrttype* pValueTypeValueTye 参数
返回:初始化、创建、结束或销毁一个拥有键值的空类型树。

示例已编译验证

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 );

示例已编译验证

/* XRT_API xtypedtree* xrtTypedTreeCreate( const xrttype* pKeyType, const xrttype* pValueType ); */
xhandle* h = xrtTypedTreeCreate();

xrtTypedTreeUnit

XRT_API void xrtTypedTreeUnit(xtypedtree* pTree);

;
返回:XRT_API void xrtTypedTreeUnit(xtypedtree* pTree);

示例已编译验证

xrtTypedTreeUnit(obj);

xrtTypedTreeDestroy

XRT_API void xrtTypedTreeDestroy(xtypedtree* pTree);

;
返回:XRT_API void xrtTypedTreeDestroy(xtypedtree* pTree);

示例已编译验证

xrtTypedTreeDestroy(obj);

xrtTypedTreeKeyType

返回借用键类型、值类型和当前键值数量。

const xrttype* xrtTypedTreeKeyType(const xtypedtree* pTree);
参数说明
const xtypedtree* pTree树对象
返回:返回借用键类型、值类型和当前键值数量。

示例已编译验证

/* 返回借用键类型、值类型和当前键值数量。 */
result = xrtTypedTreeKeyType(pTree);

xrtTypedTreeValueType

XRT_API const xrttype* xrtTypedTreeValueType(const xtypedtree* pTree);

;
返回: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);

示例已编译验证

/* XRT_API size_t xrtTypedTreeCount(const xtypedtree* pTree); */
result = xrtTypedTreeCount();

xrtTypedTreeClear

清空全部键值,或释放多余空节点池页。

bool xrtTypedTreeClear(xtypedtree* pTree);
参数说明
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);

示例已编译验证

/* XRT_API size_t xrtTypedTreeTrim(xtypedtree* pTree, size_t iRetainEmpty); */
result = xrtTypedTreeTrim();

xrtTypedTreeGetOrAdd

返回已有值槽,或复制键并按值类型初始化一个新值。

ptr xrtTypedTreeGetOrAdd( xtypedtree* pTree, const void* pKey, bool* pNew );
参数说明
xtypedtree* pTree树对象
const void* pKey键
bool* pNewNew 参数
返回:返回已有值槽,或复制键并按值类型初始化一个新值。

示例已编译验证

/* 返回已有值槽,或复制键并按值类型初始化一个新值。 */
result = xrtTypedTreeGetOrAdd(pTree, pKey, pNew);

xrtTypedTreeSet

失败原子地复制设置,或移动外部已初始化值并清空来源。

bool xrtTypedTreeSet( xtypedtree* pTree, const void* pKey, const void* pValue );
参数说明
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 );

示例已编译验证

/* XRT_API bool xrtTypedTreeSetTake( xtypedtree* pTree, const void* pKey, ptr pValue ); */
result = xrtTypedTreeSetTake();

xrtTypedTreeGet

返回指定键的可写或只读借用值;缺失是正常结果。

ptr xrtTypedTreeGet(xtypedtree* pTree, const void* pKey);
参数说明
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 );

示例已编译验证

/* 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 );

示例已编译验证

/* XRT_API bool xrtTypedTreeHas( const xtypedtree* pTree, const void* pKey ); */
result = xrtTypedTreeHas();

xrtTypedTreeStoredKey

返回与查询等价的内部规范键,缺失时返回空。

const void* xrtTypedTreeStoredKey( const xtypedtree* pTree, const void* pKey );
参数说明
const xtypedtree* pTree树对象
const void* pKey键
返回:返回与查询等价的内部规范键,缺失时返回空。

示例已编译验证

/* 返回与查询等价的内部规范键,缺失时返回空。 */
result = xrtTypedTreeStoredKey(pTree, pKey);

xrtTypedTreeRemove

删除指定键值,或把值移动到外部已初始化输出后删除。

bool xrtTypedTreeRemove(xtypedtree* pTree, const void* pKey);
参数说明
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 );

示例已编译验证

/* XRT_API bool xrtTypedTreeTake( xtypedtree* pTree, const void* pKey, ptr pValue ); */
result = xrtTypedTreeTake();

xrtTypedTreeFirst

返回首尾或上下界值,并可返回对应的内部规范键。

ptr xrtTypedTreeFirst(xtypedtree* pTree, const void** pKey);
参数说明
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);

示例已编译验证

/* 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 );

示例已编译验证

/* 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 );

示例已编译验证

/* XRT_API ptr xrtTypedTreeUpperBound( xtypedtree* pTree, const void* pSearchKey, const void** pStoredKey ); */
result = xrtTypedTreeUpperBound();

xrtTypedTreeIterBegin

启动完整或从指定边界开始的正反零分配迭代。

bool xrtTypedTreeIterBegin( xtypedtree* pTree, xtypedtreeiter* pIterator );
参数说明
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 );

示例已编译验证

/* 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 );

示例已编译验证

/* 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 );

示例已编译验证

/* 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 );

示例已编译验证

/* XRT_API ptr xrtTypedTreeIterNext( xtypedtreeiter* pIterator, const void** pKey ); */
result = xrtTypedTreeIterNext();

xrtTypedTreeIterEnd

XRT_API void xrtTypedTreeIterEnd(xtypedtreeiter* pIterator);

;
返回:XRT_API void xrtTypedTreeIterEnd(xtypedtreeiter* pIterator);

示例已编译验证

/* XRT_API void xrtTypedTreeIterEnd(xtypedtreeiter* pIterator); */
result = xrtTypedTreeIterEnd();

xrtTypedTreeMerge

事务合并同类型树、深复制树或比较完整有序键值内容。

bool xrtTypedTreeMerge( xtypedtree* pTarget, const xtypedtree* pSource, bool bReplace );
参数说明
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);

示例已编译验证

/* 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 );

示例已编译验证

/* XRT_API bool xrtTypedTreeEquals( const xtypedtree* pLeft, const xtypedtree* pRight ); */
result = xrtTypedTreeEquals();

xrtTypedTreeTypeValidate

验证对象树类型描述,并返回其共享实例操作表。

bool xrtTypedTreeTypeValidate(const xrttype* pType);
参数说明
const xrttype* pType类型
返回:验证对象树类型描述,并返回其共享实例操作表。

示例已编译验证

/* 验证对象树类型描述,并返回其共享实例操作表。 */
result = xrtTypedTreeTypeValidate(pType);

xrtTypedTreeInstanceOps

XRT_API const xrtinstanceops* xrtTypedTreeInstanceOps(void);

;
返回:XRT_API const xrtinstanceops* xrtTypedTreeInstanceOps(void);

示例已编译验证

/* XRT_API const xrtinstanceops* xrtTypedTreeInstanceOps(void); */
result = xrtTypedTreeInstanceOps();