xrtTypedStackInit
初始化、创建、结束或销毁一个拥有元素值的空类型栈。
| 参数 | 说明 |
|---|---|
| xtypedstack* pStack | 栈对象 |
| const xrttype* pItemType | ItemTye 参数 |
示例已编译验证
typedstackinit obj; xrtTypedStackInit(&obj, pStack, pItemType);
xrtTypedStackCreate
XRT_API xtypedstack* xrtTypedStackCreate(const xrttype* pItemType);
示例已编译验证
/* XRT_API xtypedstack* xrtTypedStackCreate(const xrttype* pItemType); */ xhandle* h = xrtTypedStackCreate();
xrtTypedStackUnit
XRT_API void xrtTypedStackUnit(xtypedstack* pStack);
示例已编译验证
xrtTypedStackUnit(obj);
xrtTypedStackDestroy
XRT_API void xrtTypedStackDestroy(xtypedstack* pStack);
示例已编译验证
xrtTypedStackDestroy(obj);
xrtTypedStackItemType
返回借用元素类型、当前深度和容量。
| 参数 | 说明 |
|---|---|
| const xtypedstack* pStack | 栈对象 |
示例已编译验证
/* 返回借用元素类型、当前深度和容量。 */ result = xrtTypedStackItemType(pStack);
xrtTypedStackCount
XRT_API size_t xrtTypedStackCount(const xtypedstack* pStack);
示例已编译验证
/* XRT_API size_t xrtTypedStackCount(const xtypedstack* pStack); */ result = xrtTypedStackCount();
xrtTypedStackCapacity
XRT_API size_t xrtTypedStackCapacity(const xtypedstack* pStack);
示例已编译验证
/* XRT_API size_t xrtTypedStackCapacity(const xtypedstack* pStack); */ result = xrtTypedStackCapacity();
xrtTypedStackClear
清空、预留或裁剪栈存储。
| 参数 | 说明 |
|---|---|
| xtypedstack* pStack | 栈对象 |
示例已编译验证
/* 清空、预留或裁剪栈存储。 */ result = xrtTypedStackClear(pStack);
xrtTypedStackReserve
XRT_API bool xrtTypedStackReserve(xtypedstack* pStack, size_t iCapacity);
示例已编译验证
/* XRT_API bool xrtTypedStackReserve(xtypedstack* pStack, size_t iCapacity); */ result = xrtTypedStackReserve();
xrtTypedStackTrim
XRT_API bool xrtTypedStackTrim(xtypedstack* pStack);
示例已编译验证
/* XRT_API bool xrtTypedStackTrim(xtypedstack* pStack); */ result = xrtTypedStackTrim();
xrtTypedStackPush
复制压入元素;失败时栈保持原值。
| 参数 | 说明 |
|---|---|
| xtypedstack* pStack | 栈对象 |
| const void* pItem | 元素 |
示例已编译验证
/* 复制压入元素;失败时栈保持原值。 */ result = xrtTypedStackPush(pStack, pItem);
xrtTypedStackPop
弹出栈顶;输出为空时销毁元素,否则移动到已初始化输出值。
| 参数 | 说明 |
|---|---|
| xtypedstack* pStack | 栈对象 |
| ptr pValue | 值 |
示例已编译验证
/* 弹出栈顶;输出为空时销毁元素,否则移动到已初始化输出值。 */ result = xrtTypedStackPop(pStack, pValue);
xrtTypedStackPeek
按距栈顶深度返回借用值,深度零表示栈顶。
| 参数 | 说明 |
|---|---|
| xtypedstack* pStack | 栈对象 |
| size_t iDepth | 距栈顶深度 |
示例已编译验证
/* 按距栈顶深度返回借用值,深度零表示栈顶。 */ result = xrtTypedStackPeek(pStack, iDepth);
xrtTypedStackConstPeek
XRT_API const void* xrtTypedStackConstPeek( const xtypedstack* pStack, size_t iDepth );
示例已编译验证
/* XRT_API const void* xrtTypedStackConstPeek( const xtypedstack* pStack, size_t iDepth ); */ result = xrtTypedStackConstPeek();
xrtTypedStackTop
XRT_API ptr xrtTypedStackTop(xtypedstack* pStack);
示例已编译验证
/* XRT_API ptr xrtTypedStackTop(xtypedstack* pStack); */ result = xrtTypedStackTop();
xrtTypedStackConstTop
XRT_API const void* xrtTypedStackConstTop(const xtypedstack* pStack);
示例已编译验证
/* XRT_API const void* xrtTypedStackConstTop(const xtypedstack* pStack); */ result = xrtTypedStackConstTop();
xrtTypedStackClone
深复制类型栈,或比较精确类型、深度和元素顺序。
| 参数 | 说明 |
|---|---|
| const xtypedstack* pStack | 栈对象 |
示例已编译验证
/* 深复制类型栈,或比较精确类型、深度和元素顺序。 */ result = xrtTypedStackClone(pStack);
xrtTypedStackEquals
XRT_API bool xrtTypedStackEquals( const xtypedstack* pLeft, const xtypedstack* pRight );
示例已编译验证
/* XRT_API bool xrtTypedStackEquals( const xtypedstack* pLeft, const xtypedstack* pRight ); */ result = xrtTypedStackEquals();