xrtTypedStackInit

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

bool xrtTypedStackInit( xtypedstack* pStack, const xrttype* pItemType );
参数说明
xtypedstack* pStack栈对象
const xrttype* pItemTypeItemTye 参数
返回:初始化、创建、结束或销毁一个拥有元素值的空类型栈。

示例已编译验证

typedstackinit obj;
xrtTypedStackInit(&obj, pStack, pItemType);

xrtTypedStackCreate

XRT_API xtypedstack* xrtTypedStackCreate(const xrttype* pItemType);

;
返回:XRT_API xtypedstack* xrtTypedStackCreate(const xrttype* pItemType);

示例已编译验证

/* XRT_API xtypedstack* xrtTypedStackCreate(const xrttype* pItemType); */
xhandle* h = xrtTypedStackCreate();

xrtTypedStackUnit

XRT_API void xrtTypedStackUnit(xtypedstack* pStack);

;
返回:XRT_API void xrtTypedStackUnit(xtypedstack* pStack);

示例已编译验证

xrtTypedStackUnit(obj);

xrtTypedStackDestroy

XRT_API void xrtTypedStackDestroy(xtypedstack* pStack);

;
返回:XRT_API void xrtTypedStackDestroy(xtypedstack* pStack);

示例已编译验证

xrtTypedStackDestroy(obj);

xrtTypedStackItemType

返回借用元素类型、当前深度和容量。

const xrttype* xrtTypedStackItemType(const xtypedstack* pStack);
参数说明
const xtypedstack* pStack栈对象
返回:返回借用元素类型、当前深度和容量。

示例已编译验证

/* 返回借用元素类型、当前深度和容量。 */
result = xrtTypedStackItemType(pStack);

xrtTypedStackCount

XRT_API size_t xrtTypedStackCount(const xtypedstack* pStack);

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

示例已编译验证

/* XRT_API size_t xrtTypedStackCapacity(const xtypedstack* pStack); */
result = xrtTypedStackCapacity();

xrtTypedStackClear

清空、预留或裁剪栈存储。

void xrtTypedStackClear(xtypedstack* pStack);
参数说明
xtypedstack* pStack栈对象
返回:清空、预留或裁剪栈存储。

示例已编译验证

/* 清空、预留或裁剪栈存储。 */
result = xrtTypedStackClear(pStack);

xrtTypedStackReserve

XRT_API bool xrtTypedStackReserve(xtypedstack* pStack, size_t iCapacity);

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

示例已编译验证

/* XRT_API bool xrtTypedStackTrim(xtypedstack* pStack); */
result = xrtTypedStackTrim();

xrtTypedStackPush

复制压入元素;失败时栈保持原值。

bool xrtTypedStackPush( xtypedstack* pStack, const void* pItem );
参数说明
xtypedstack* pStack栈对象
const void* pItem元素
返回:复制压入元素;失败时栈保持原值。

示例已编译验证

/* 复制压入元素;失败时栈保持原值。 */
result = xrtTypedStackPush(pStack, pItem);

xrtTypedStackPop

弹出栈顶;输出为空时销毁元素,否则移动到已初始化输出值。

bool xrtTypedStackPop(xtypedstack* pStack, ptr pValue);
参数说明
xtypedstack* pStack栈对象
ptr pValue值
返回:弹出栈顶;输出为空时销毁元素,否则移动到已初始化输出值。

示例已编译验证

/* 弹出栈顶;输出为空时销毁元素,否则移动到已初始化输出值。 */
result = xrtTypedStackPop(pStack, pValue);

xrtTypedStackPeek

按距栈顶深度返回借用值,深度零表示栈顶。

ptr xrtTypedStackPeek(xtypedstack* pStack, size_t iDepth);
参数说明
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 );

示例已编译验证

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

示例已编译验证

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

示例已编译验证

/* XRT_API const void* xrtTypedStackConstTop(const xtypedstack* pStack); */
result = xrtTypedStackConstTop();

xrtTypedStackClone

深复制类型栈,或比较精确类型、深度和元素顺序。

xtypedstack* xrtTypedStackClone(const xtypedstack* pStack);
参数说明
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 );

示例已编译验证

/* XRT_API bool xrtTypedStackEquals( const xtypedstack* pLeft, const xtypedstack* pRight ); */
result = xrtTypedStackEquals();