xrtTypedSPSCQueueInit

初始化、创建、结束或销毁一个有界单生产者单消费者类型队列。

bool xrtTypedSPSCQueueInit( xtypedspscqueue* pQueue, const xrttype* pItemType, size_t iCapacity );
参数说明
xtypedspscqueue* pQueue队列对象
const xrttype* pItemTypeItemTye 参数
size_t iCapacity容量
返回:初始化、创建、结束或销毁一个有界单生产者单消费者类型队列。

示例已编译验证

typedspscqueueinit obj;
xrtTypedSPSCQueueInit(&obj, pQueue, pItemType, iCapacity);

xrtTypedSPSCQueueCreate

XRT_API xtypedspscqueue* xrtTypedSPSCQueueCreate( const xrttype* pItemType, size_t iCapacity );

;
返回:XRT_API xtypedspscqueue* xrtTypedSPSCQueueCreate( const xrttype* pItemType, size_t iCapacity );

示例已编译验证

/* XRT_API xtypedspscqueue* xrtTypedSPSCQueueCreate( const xrttype* pItemType, size_t iCapacity ); */
xhandle* h = xrtTypedSPSCQueueCreate();

xrtTypedSPSCQueueUnit

XRT_API void xrtTypedSPSCQueueUnit(xtypedspscqueue* pQueue);

;
返回:XRT_API void xrtTypedSPSCQueueUnit(xtypedspscqueue* pQueue);

示例已编译验证

xrtTypedSPSCQueueUnit(obj);

xrtTypedSPSCQueueDestroy

XRT_API void xrtTypedSPSCQueueDestroy(xtypedspscqueue* pQueue);

;
返回:XRT_API void xrtTypedSPSCQueueDestroy(xtypedspscqueue* pQueue);

示例已编译验证

xrtTypedSPSCQueueDestroy(obj);

xrtTypedSPSCQueueItemType

返回借用元素类型、实际 2 次幂容量和并发近似元素数。

const xrttype* xrtTypedSPSCQueueItemType( const xtypedspscqueue* pQueue );
参数说明
const xtypedspscqueue* pQueue队列对象
返回:返回借用元素类型、实际 2 次幂容量和并发近似元素数。

示例已编译验证

/* 返回借用元素类型、实际 2 次幂容量和并发近似元素数。 */
result = xrtTypedSPSCQueueItemType(pQueue);

xrtTypedSPSCQueueCapacity

XRT_API size_t xrtTypedSPSCQueueCapacity(const xtypedspscqueue* pQueue);

;
返回:XRT_API size_t xrtTypedSPSCQueueCapacity(const xtypedspscqueue* pQueue);

示例已编译验证

/* XRT_API size_t xrtTypedSPSCQueueCapacity(const xtypedspscqueue* pQueue); */
result = xrtTypedSPSCQueueCapacity();

xrtTypedSPSCQueueCount

XRT_API size_t xrtTypedSPSCQueueCount(const xtypedspscqueue* pQueue);

;
返回:XRT_API size_t xrtTypedSPSCQueueCount(const xtypedspscqueue* pQueue);

示例已编译验证

/* XRT_API size_t xrtTypedSPSCQueueCount(const xtypedspscqueue* pQueue); */
result = xrtTypedSPSCQueueCount();

xrtTypedSPSCQueueTryPush

复制或移动压入一个值;满、关闭和错误使用 xqueueresult 区分。

xqueueresult xrtTypedSPSCQueueTryPush( xtypedspscqueue* pQueue, const void* pItem );
参数说明
xtypedspscqueue* pQueue队列对象
const void* pItem元素
返回:复制或移动压入一个值;满、关闭和错误使用 xqueueresult 区分。

示例已编译验证

/* 复制或移动压入一个值;满、关闭和错误使用 xqueueresult 区分。 */
result = xrtTypedSPSCQueueTryPush(pQueue, pItem);

xrtTypedSPSCQueueTryPushTake

XRT_API xqueueresult xrtTypedSPSCQueueTryPushTake( xtypedspscqueue* pQueue, ptr pItem );

;
返回:XRT_API xqueueresult xrtTypedSPSCQueueTryPushTake( xtypedspscqueue* pQueue, ptr pItem );

示例已编译验证

/* XRT_API xqueueresult xrtTypedSPSCQueueTryPushTake( xtypedspscqueue* pQueue, ptr pItem ); */
result = xrtTypedSPSCQueueTryPushTake();

xrtTypedSPSCQueueTryPop

移动弹出到已初始化输出;类型移动失败时元素仍由队列拥有。

xqueueresult xrtTypedSPSCQueueTryPop( xtypedspscqueue* pQueue, ptr pValue );
参数说明
xtypedspscqueue* pQueue队列对象
ptr pValue值
返回:移动弹出到已初始化输出;类型移动失败时元素仍由队列拥有。

示例已编译验证

/* 移动弹出到已初始化输出;类型移动失败时元素仍由队列拥有。 */
result = xrtTypedSPSCQueueTryPop(pQueue, pValue);

xrtTypedSPSCQueuePushBatch

批量处理连续类型值;部分成功返回 OK 和实际处理数量。

xqueuebatchresult xrtTypedSPSCQueuePushBatch( xtypedspscqueue* pQueue, const void* pItems, size_t iCount );
参数说明
xtypedspscqueue* pQueue队列对象
const void* pItems元素数组
size_t iCount数量
返回:批量处理连续类型值;部分成功返回 OK 和实际处理数量。

示例已编译验证

/* 批量处理连续类型值;部分成功返回 OK 和实际处理数量。 */
result = xrtTypedSPSCQueuePushBatch(pQueue, pItems, iCount);

xrtTypedSPSCQueuePopBatch

XRT_API xqueuebatchresult xrtTypedSPSCQueuePopBatch( xtypedspscqueue* pQueue, ptr pValues, size_t iCapacity );

;
返回:XRT_API xqueuebatchresult xrtTypedSPSCQueuePopBatch( xtypedspscqueue* pQueue, ptr pValues, size_t iCapacity );

示例已编译验证

/* XRT_API xqueuebatchresult xrtTypedSPSCQueuePopBatch( xtypedspscqueue* pQueue, ptr pValues, size_t iCapacity ); */
result = xrtTypedSPSCQueuePopBatch();

xrtTypedSPSCQueueClose

关闭写端、查询终态,或在独占且排空后重新开放。

void xrtTypedSPSCQueueClose(xtypedspscqueue* pQueue);
参数说明
xtypedspscqueue* pQueue队列对象
返回:关闭写端、查询终态,或在独占且排空后重新开放。

示例已编译验证

/* 关闭写端、查询终态,或在独占且排空后重新开放。 */
result = xrtTypedSPSCQueueClose(pQueue);

xrtTypedSPSCQueueIsClosed

XRT_API bool xrtTypedSPSCQueueIsClosed(const xtypedspscqueue* pQueue);

;
返回:XRT_API bool xrtTypedSPSCQueueIsClosed(const xtypedspscqueue* pQueue);

示例已编译验证

/* XRT_API bool xrtTypedSPSCQueueIsClosed(const xtypedspscqueue* pQueue); */
result = xrtTypedSPSCQueueIsClosed();

xrtTypedSPSCQueueIsDrained

XRT_API bool xrtTypedSPSCQueueIsDrained(const xtypedspscqueue* pQueue);

;
返回:XRT_API bool xrtTypedSPSCQueueIsDrained(const xtypedspscqueue* pQueue);

示例已编译验证

/* XRT_API bool xrtTypedSPSCQueueIsDrained(const xtypedspscqueue* pQueue); */
result = xrtTypedSPSCQueueIsDrained();

xrtTypedSPSCQueueReset

XRT_API bool xrtTypedSPSCQueueReset(xtypedspscqueue* pQueue);

;
返回:XRT_API bool xrtTypedSPSCQueueReset(xtypedspscqueue* pQueue);

示例已编译验证

/* XRT_API bool xrtTypedSPSCQueueReset(xtypedspscqueue* pQueue); */
result = xrtTypedSPSCQueueReset();

xrtTypedSPSCQueueTypeValidate

验证对象队列描述,并返回 SPSC 队列实例操作表。

bool xrtTypedSPSCQueueTypeValidate(const xrttype* pType);
参数说明
const xrttype* pType类型
返回:验证对象队列描述,并返回 SPSC 队列实例操作表。

示例已编译验证

/* 验证对象队列描述,并返回 SPSC 队列实例操作表。 */
result = xrtTypedSPSCQueueTypeValidate(pType);

xrtTypedSPSCQueueInstanceOps

XRT_API const xrtinstanceops* xrtTypedSPSCQueueInstanceOps(void);

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

示例已编译验证

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

xrtTypedMPSCQueueInit

初始化、创建、结束或销毁一个有界多生产者单消费者类型队列。

bool xrtTypedMPSCQueueInit( xtypedmpscqueue* pQueue, const xrttype* pItemType, size_t iCapacity );
参数说明
xtypedmpscqueue* pQueue队列对象
const xrttype* pItemTypeItemTye 参数
size_t iCapacity容量
返回:初始化、创建、结束或销毁一个有界多生产者单消费者类型队列。

示例已编译验证

typedmpscqueueinit obj;
xrtTypedMPSCQueueInit(&obj, pQueue, pItemType, iCapacity);

xrtTypedMPSCQueueCreate

XRT_API xtypedmpscqueue* xrtTypedMPSCQueueCreate( const xrttype* pItemType, size_t iCapacity );

;
返回:XRT_API xtypedmpscqueue* xrtTypedMPSCQueueCreate( const xrttype* pItemType, size_t iCapacity );

示例已编译验证

/* XRT_API xtypedmpscqueue* xrtTypedMPSCQueueCreate( const xrttype* pItemType, size_t iCapacity ); */
xhandle* h = xrtTypedMPSCQueueCreate();

xrtTypedMPSCQueueUnit

XRT_API void xrtTypedMPSCQueueUnit(xtypedmpscqueue* pQueue);

;
返回:XRT_API void xrtTypedMPSCQueueUnit(xtypedmpscqueue* pQueue);

示例已编译验证

xrtTypedMPSCQueueUnit(obj);

xrtTypedMPSCQueueDestroy

XRT_API void xrtTypedMPSCQueueDestroy(xtypedmpscqueue* pQueue);

;
返回:XRT_API void xrtTypedMPSCQueueDestroy(xtypedmpscqueue* pQueue);

示例已编译验证

xrtTypedMPSCQueueDestroy(obj);

xrtTypedMPSCQueueItemType

返回借用元素类型、实际 2 次幂容量和并发近似元素数。

const xrttype* xrtTypedMPSCQueueItemType( const xtypedmpscqueue* pQueue );
参数说明
const xtypedmpscqueue* pQueue队列对象
返回:返回借用元素类型、实际 2 次幂容量和并发近似元素数。

示例已编译验证

/* 返回借用元素类型、实际 2 次幂容量和并发近似元素数。 */
result = xrtTypedMPSCQueueItemType(pQueue);

xrtTypedMPSCQueueCapacity

XRT_API size_t xrtTypedMPSCQueueCapacity(const xtypedmpscqueue* pQueue);

;
返回:XRT_API size_t xrtTypedMPSCQueueCapacity(const xtypedmpscqueue* pQueue);

示例已编译验证

/* XRT_API size_t xrtTypedMPSCQueueCapacity(const xtypedmpscqueue* pQueue); */
result = xrtTypedMPSCQueueCapacity();

xrtTypedMPSCQueueCount

XRT_API size_t xrtTypedMPSCQueueCount(const xtypedmpscqueue* pQueue);

;
返回:XRT_API size_t xrtTypedMPSCQueueCount(const xtypedmpscqueue* pQueue);

示例已编译验证

/* XRT_API size_t xrtTypedMPSCQueueCount(const xtypedmpscqueue* pQueue); */
result = xrtTypedMPSCQueueCount();

xrtTypedMPSCQueueTryPush

复制或移动压入一个值;满、关闭和错误使用 xqueueresult 区分。

xqueueresult xrtTypedMPSCQueueTryPush( xtypedmpscqueue* pQueue, const void* pItem );
参数说明
xtypedmpscqueue* pQueue队列对象
const void* pItem元素
返回:复制或移动压入一个值;满、关闭和错误使用 xqueueresult 区分。

示例已编译验证

/* 复制或移动压入一个值;满、关闭和错误使用 xqueueresult 区分。 */
result = xrtTypedMPSCQueueTryPush(pQueue, pItem);

xrtTypedMPSCQueueTryPushTake

XRT_API xqueueresult xrtTypedMPSCQueueTryPushTake( xtypedmpscqueue* pQueue, ptr pItem );

;
返回:XRT_API xqueueresult xrtTypedMPSCQueueTryPushTake( xtypedmpscqueue* pQueue, ptr pItem );

示例已编译验证

/* XRT_API xqueueresult xrtTypedMPSCQueueTryPushTake( xtypedmpscqueue* pQueue, ptr pItem ); */
result = xrtTypedMPSCQueueTryPushTake();

xrtTypedMPSCQueueTryPop

由唯一消费者移动弹出;类型移动失败时元素仍由队列拥有。

xqueueresult xrtTypedMPSCQueueTryPop( xtypedmpscqueue* pQueue, ptr pValue );
参数说明
xtypedmpscqueue* pQueue队列对象
ptr pValue值
返回:由唯一消费者移动弹出;类型移动失败时元素仍由队列拥有。

示例已编译验证

/* 由唯一消费者移动弹出;类型移动失败时元素仍由队列拥有。 */
result = xrtTypedMPSCQueueTryPop(pQueue, pValue);

xrtTypedMPSCQueuePushBatch

批量处理连续类型值;部分成功返回 OK 和实际处理数量。

xqueuebatchresult xrtTypedMPSCQueuePushBatch( xtypedmpscqueue* pQueue, const void* pItems, size_t iCount );
参数说明
xtypedmpscqueue* pQueue队列对象
const void* pItems元素数组
size_t iCount数量
返回:批量处理连续类型值;部分成功返回 OK 和实际处理数量。

示例已编译验证

/* 批量处理连续类型值;部分成功返回 OK 和实际处理数量。 */
result = xrtTypedMPSCQueuePushBatch(pQueue, pItems, iCount);

xrtTypedMPSCQueuePopBatch

XRT_API xqueuebatchresult xrtTypedMPSCQueuePopBatch( xtypedmpscqueue* pQueue, ptr pValues, size_t iCapacity );

;
返回:XRT_API xqueuebatchresult xrtTypedMPSCQueuePopBatch( xtypedmpscqueue* pQueue, ptr pValues, size_t iCapacity );

示例已编译验证

/* XRT_API xqueuebatchresult xrtTypedMPSCQueuePopBatch( xtypedmpscqueue* pQueue, ptr pValues, size_t iCapacity ); */
result = xrtTypedMPSCQueuePopBatch();

xrtTypedMPSCQueueClose

关闭写端、查询终态,或在独占且排空后重新开放。

void xrtTypedMPSCQueueClose(xtypedmpscqueue* pQueue);
参数说明
xtypedmpscqueue* pQueue队列对象
返回:关闭写端、查询终态,或在独占且排空后重新开放。

示例已编译验证

/* 关闭写端、查询终态,或在独占且排空后重新开放。 */
result = xrtTypedMPSCQueueClose(pQueue);

xrtTypedMPSCQueueIsClosed

XRT_API bool xrtTypedMPSCQueueIsClosed(const xtypedmpscqueue* pQueue);

;
返回:XRT_API bool xrtTypedMPSCQueueIsClosed(const xtypedmpscqueue* pQueue);

示例已编译验证

/* XRT_API bool xrtTypedMPSCQueueIsClosed(const xtypedmpscqueue* pQueue); */
result = xrtTypedMPSCQueueIsClosed();

xrtTypedMPSCQueueIsDrained

XRT_API bool xrtTypedMPSCQueueIsDrained(const xtypedmpscqueue* pQueue);

;
返回:XRT_API bool xrtTypedMPSCQueueIsDrained(const xtypedmpscqueue* pQueue);

示例已编译验证

/* XRT_API bool xrtTypedMPSCQueueIsDrained(const xtypedmpscqueue* pQueue); */
result = xrtTypedMPSCQueueIsDrained();

xrtTypedMPSCQueueReset

XRT_API bool xrtTypedMPSCQueueReset(xtypedmpscqueue* pQueue);

;
返回:XRT_API bool xrtTypedMPSCQueueReset(xtypedmpscqueue* pQueue);

示例已编译验证

/* XRT_API bool xrtTypedMPSCQueueReset(xtypedmpscqueue* pQueue); */
result = xrtTypedMPSCQueueReset();

xrtTypedMPSCQueueTypeValidate

验证对象队列描述,并返回 MPSC 队列实例操作表。

bool xrtTypedMPSCQueueTypeValidate(const xrttype* pType);
参数说明
const xrttype* pType类型
返回:验证对象队列描述,并返回 MPSC 队列实例操作表。

示例已编译验证

/* 验证对象队列描述,并返回 MPSC 队列实例操作表。 */
result = xrtTypedMPSCQueueTypeValidate(pType);

xrtTypedMPSCQueueInstanceOps

XRT_API const xrtinstanceops* xrtTypedMPSCQueueInstanceOps(void);

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

示例已编译验证

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

xrtTypedMPMCQueueInit

初始化、创建、结束或销毁一个有界多生产者多消费者类型队列。

bool xrtTypedMPMCQueueInit( xtypedmpmcqueue* pQueue, const xrttype* pItemType, size_t iCapacity );
参数说明
xtypedmpmcqueue* pQueue队列对象
const xrttype* pItemTypeItemTye 参数
size_t iCapacity容量
返回:初始化、创建、结束或销毁一个有界多生产者多消费者类型队列。

示例已编译验证

typedmpmcqueueinit obj;
xrtTypedMPMCQueueInit(&obj, pQueue, pItemType, iCapacity);

xrtTypedMPMCQueueCreate

XRT_API xtypedmpmcqueue* xrtTypedMPMCQueueCreate( const xrttype* pItemType, size_t iCapacity );

;
返回:XRT_API xtypedmpmcqueue* xrtTypedMPMCQueueCreate( const xrttype* pItemType, size_t iCapacity );

示例已编译验证

/* XRT_API xtypedmpmcqueue* xrtTypedMPMCQueueCreate( const xrttype* pItemType, size_t iCapacity ); */
xhandle* h = xrtTypedMPMCQueueCreate();

xrtTypedMPMCQueueUnit

XRT_API void xrtTypedMPMCQueueUnit(xtypedmpmcqueue* pQueue);

;
返回:XRT_API void xrtTypedMPMCQueueUnit(xtypedmpmcqueue* pQueue);

示例已编译验证

xrtTypedMPMCQueueUnit(obj);

xrtTypedMPMCQueueDestroy

XRT_API void xrtTypedMPMCQueueDestroy(xtypedmpmcqueue* pQueue);

;
返回:XRT_API void xrtTypedMPMCQueueDestroy(xtypedmpmcqueue* pQueue);

示例已编译验证

xrtTypedMPMCQueueDestroy(obj);

xrtTypedMPMCQueueItemType

返回借用元素类型、实际 2 次幂容量和并发近似元素数。

const xrttype* xrtTypedMPMCQueueItemType( const xtypedmpmcqueue* pQueue );
参数说明
const xtypedmpmcqueue* pQueue队列对象
返回:返回借用元素类型、实际 2 次幂容量和并发近似元素数。

示例已编译验证

/* 返回借用元素类型、实际 2 次幂容量和并发近似元素数。 */
result = xrtTypedMPMCQueueItemType(pQueue);

xrtTypedMPMCQueueCapacity

XRT_API size_t xrtTypedMPMCQueueCapacity(const xtypedmpmcqueue* pQueue);

;
返回:XRT_API size_t xrtTypedMPMCQueueCapacity(const xtypedmpmcqueue* pQueue);

示例已编译验证

/* XRT_API size_t xrtTypedMPMCQueueCapacity(const xtypedmpmcqueue* pQueue); */
result = xrtTypedMPMCQueueCapacity();

xrtTypedMPMCQueueCount

XRT_API size_t xrtTypedMPMCQueueCount(const xtypedmpmcqueue* pQueue);

;
返回:XRT_API size_t xrtTypedMPMCQueueCount(const xtypedmpmcqueue* pQueue);

示例已编译验证

/* XRT_API size_t xrtTypedMPMCQueueCount(const xtypedmpmcqueue* pQueue); */
result = xrtTypedMPMCQueueCount();

xrtTypedMPMCQueueTryPush

复制或移动压入一个值;满、关闭和错误使用 xqueueresult 区分。

xqueueresult xrtTypedMPMCQueueTryPush( xtypedmpmcqueue* pQueue, const void* pItem );
参数说明
xtypedmpmcqueue* pQueue队列对象
const void* pItem元素
返回:复制或移动压入一个值;满、关闭和错误使用 xqueueresult 区分。

示例已编译验证

/* 复制或移动压入一个值;满、关闭和错误使用 xqueueresult 区分。 */
result = xrtTypedMPMCQueueTryPush(pQueue, pItem);

xrtTypedMPMCQueueTryPushTake

XRT_API xqueueresult xrtTypedMPMCQueueTryPushTake( xtypedmpmcqueue* pQueue, ptr pItem );

;
返回:XRT_API xqueueresult xrtTypedMPMCQueueTryPushTake( xtypedmpmcqueue* pQueue, ptr pItem );

示例已编译验证

/* XRT_API xqueueresult xrtTypedMPMCQueueTryPushTake( xtypedmpmcqueue* pQueue, ptr pItem ); */
result = xrtTypedMPMCQueueTryPushTake();

xrtTypedMPMCQueueTryPop

由任意消费者移动弹出;类型移动失败时元素进入内部重试环。

xqueueresult xrtTypedMPMCQueueTryPop( xtypedmpmcqueue* pQueue, ptr pValue );
参数说明
xtypedmpmcqueue* pQueue队列对象
ptr pValue值
返回:由任意消费者移动弹出;类型移动失败时元素进入内部重试环。

示例已编译验证

/* 由任意消费者移动弹出;类型移动失败时元素进入内部重试环。 */
result = xrtTypedMPMCQueueTryPop(pQueue, pValue);

xrtTypedMPMCQueuePushBatch

批量处理连续类型值;部分成功返回 OK 和实际处理数量。

xqueuebatchresult xrtTypedMPMCQueuePushBatch( xtypedmpmcqueue* pQueue, const void* pItems, size_t iCount );
参数说明
xtypedmpmcqueue* pQueue队列对象
const void* pItems元素数组
size_t iCount数量
返回:批量处理连续类型值;部分成功返回 OK 和实际处理数量。

示例已编译验证

/* 批量处理连续类型值;部分成功返回 OK 和实际处理数量。 */
result = xrtTypedMPMCQueuePushBatch(pQueue, pItems, iCount);

xrtTypedMPMCQueuePopBatch

XRT_API xqueuebatchresult xrtTypedMPMCQueuePopBatch( xtypedmpmcqueue* pQueue, ptr pValues, size_t iCapacity );

;
返回:XRT_API xqueuebatchresult xrtTypedMPMCQueuePopBatch( xtypedmpmcqueue* pQueue, ptr pValues, size_t iCapacity );

示例已编译验证

/* XRT_API xqueuebatchresult xrtTypedMPMCQueuePopBatch( xtypedmpmcqueue* pQueue, ptr pValues, size_t iCapacity ); */
result = xrtTypedMPMCQueuePopBatch();

xrtTypedMPMCQueueClose

关闭写端、查询终态,或在独占且排空后重新开放。

void xrtTypedMPMCQueueClose(xtypedmpmcqueue* pQueue);
参数说明
xtypedmpmcqueue* pQueue队列对象
返回:关闭写端、查询终态,或在独占且排空后重新开放。

示例已编译验证

/* 关闭写端、查询终态,或在独占且排空后重新开放。 */
result = xrtTypedMPMCQueueClose(pQueue);

xrtTypedMPMCQueueIsClosed

XRT_API bool xrtTypedMPMCQueueIsClosed(const xtypedmpmcqueue* pQueue);

;
返回:XRT_API bool xrtTypedMPMCQueueIsClosed(const xtypedmpmcqueue* pQueue);

示例已编译验证

/* XRT_API bool xrtTypedMPMCQueueIsClosed(const xtypedmpmcqueue* pQueue); */
result = xrtTypedMPMCQueueIsClosed();

xrtTypedMPMCQueueIsDrained

XRT_API bool xrtTypedMPMCQueueIsDrained(const xtypedmpmcqueue* pQueue);

;
返回:XRT_API bool xrtTypedMPMCQueueIsDrained(const xtypedmpmcqueue* pQueue);

示例已编译验证

/* XRT_API bool xrtTypedMPMCQueueIsDrained(const xtypedmpmcqueue* pQueue); */
result = xrtTypedMPMCQueueIsDrained();

xrtTypedMPMCQueueReset

XRT_API bool xrtTypedMPMCQueueReset(xtypedmpmcqueue* pQueue);

;
返回:XRT_API bool xrtTypedMPMCQueueReset(xtypedmpmcqueue* pQueue);

示例已编译验证

/* XRT_API bool xrtTypedMPMCQueueReset(xtypedmpmcqueue* pQueue); */
result = xrtTypedMPMCQueueReset();

xrtTypedMPMCQueueTypeValidate

验证对象队列描述,并返回 MPMC 队列实例操作表。

bool xrtTypedMPMCQueueTypeValidate(const xrttype* pType);
参数说明
const xrttype* pType类型
返回:验证对象队列描述,并返回 MPMC 队列实例操作表。

示例已编译验证

/* 验证对象队列描述,并返回 MPMC 队列实例操作表。 */
result = xrtTypedMPMCQueueTypeValidate(pType);

xrtTypedMPMCQueueInstanceOps

XRT_API const xrtinstanceops* xrtTypedMPMCQueueInstanceOps(void);

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

示例已编译验证

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