xrtTypedArrayInit
初始化、创建、结束或销毁一个拥有元素值的空类型数组。
| 参数 | 说明 |
|---|---|
| xtypedarray* pArray | 数组对象 |
| const xrttype* pItemType | ItemTye 参数 |
示例已编译验证
typedarrayinit obj; xrtTypedArrayInit(&obj, pArray, pItemType);
xrtTypedArrayCreate
XRT_API xtypedarray* xrtTypedArrayCreate(const xrttype* pItemType);
示例已编译验证
/* XRT_API xtypedarray* xrtTypedArrayCreate(const xrttype* pItemType); */ xhandle* h = xrtTypedArrayCreate();
xrtTypedArrayUnit
XRT_API void xrtTypedArrayUnit(xtypedarray* pArray);
示例已编译验证
xrtTypedArrayUnit(obj);
xrtTypedArrayDestroy
XRT_API void xrtTypedArrayDestroy(xtypedarray* pArray);
示例已编译验证
xrtTypedArrayDestroy(obj);
xrtTypedArrayItemType
返回借用元素类型、元素数和当前容量。
| 参数 | 说明 |
|---|---|
| const xtypedarray* pArray | 数组对象 |
示例已编译验证
/* 返回借用元素类型、元素数和当前容量。 */ result = xrtTypedArrayItemType(pArray);
xrtTypedArrayCount
XRT_API size_t xrtTypedArrayCount(const xtypedarray* pArray);
示例已编译验证
/* XRT_API size_t xrtTypedArrayCount(const xtypedarray* pArray); */ result = xrtTypedArrayCount();
xrtTypedArrayCapacity
XRT_API size_t xrtTypedArrayCapacity(const xtypedarray* pArray);
示例已编译验证
/* XRT_API size_t xrtTypedArrayCapacity(const xtypedarray* pArray); */ result = xrtTypedArrayCapacity();
xrtTypedArrayData
返回活动元素连续区的可写或只读借用;结构修改后旧地址失效。
| 参数 | 说明 |
|---|---|
| xtypedarray* pArray | 数组对象 |
示例已编译验证
/* 返回活动元素连续区的可写或只读借用;结构修改后旧地址失效。 */ result = xrtTypedArrayData(pArray);
xrtTypedArrayConstData
XRT_API const void* xrtTypedArrayConstData(const xtypedarray* pArray);
示例已编译验证
/* XRT_API const void* xrtTypedArrayConstData(const xtypedarray* pArray); */ result = xrtTypedArrayConstData();
xrtTypedArrayReserve
预留、调整、裁剪或清空数组;新增元素按类型初始化。
| 参数 | 说明 |
|---|---|
| xtypedarray* pArray | 数组对象 |
| size_t iCapacity | 容量 |
示例已编译验证
/* 预留、调整、裁剪或清空数组;新增元素按类型初始化。 */ result = xrtTypedArrayReserve(pArray, iCapacity);
xrtTypedArrayResize
XRT_API bool xrtTypedArrayResize(xtypedarray* pArray, size_t iCount);
示例已编译验证
/* XRT_API bool xrtTypedArrayResize(xtypedarray* pArray, size_t iCount); */ result = xrtTypedArrayResize();
xrtTypedArrayTrim
XRT_API bool xrtTypedArrayTrim(xtypedarray* pArray);
示例已编译验证
/* XRT_API bool xrtTypedArrayTrim(xtypedarray* pArray); */ result = xrtTypedArrayTrim();
xrtTypedArrayClear
XRT_API void xrtTypedArrayClear(xtypedarray* pArray);
示例已编译验证
/* XRT_API void xrtTypedArrayClear(xtypedarray* pArray); */ result = xrtTypedArrayClear();
xrtTypedArrayGet
返回指定下标的借用元素地址,结构修改后旧地址失效。
| 参数 | 说明 |
|---|---|
| xtypedarray* pArray | 数组对象 |
| size_t iIndex | 下标 |
示例已编译验证
/* 返回指定下标的借用元素地址,结构修改后旧地址失效。 */ result = xrtTypedArrayGet(pArray, iIndex);
xrtTypedArrayConstGet
XRT_API const void* xrtTypedArrayConstGet( const xtypedarray* pArray, size_t iIndex );
示例已编译验证
/* XRT_API const void* xrtTypedArrayConstGet( const xtypedarray* pArray, size_t iIndex ); */ result = xrtTypedArrayConstGet();
xrtTypedArrayPush
复制追加、插入或替换元素;失败时数组保持原值。
| 参数 | 说明 |
|---|---|
| xtypedarray* pArray | 数组对象 |
| const void* pItem | 元素 |
示例已编译验证
/* 复制追加、插入或替换元素;失败时数组保持原值。 */ result = xrtTypedArrayPush(pArray, pItem);
xrtTypedArrayInsert
XRT_API bool xrtTypedArrayInsert( xtypedarray* pArray, size_t iIndex, const void* pItem );
示例已编译验证
/* XRT_API bool xrtTypedArrayInsert( xtypedarray* pArray, size_t iIndex, const void* pItem ); */ result = xrtTypedArrayInsert();
xrtTypedArraySet
XRT_API bool xrtTypedArraySet( xtypedarray* pArray, size_t iIndex, const void* pItem );
示例已编译验证
/* XRT_API bool xrtTypedArraySet( xtypedarray* pArray, size_t iIndex, const void* pItem ); */ result = xrtTypedArraySet();
xrtTypedArrayRemove
删除元素,或把一个元素移动到已初始化输出值后删除。
| 参数 | 说明 |
|---|---|
| xtypedarray* pArray | 数组对象 |
| size_t iIndex | 下标 |
| size_t iCount | 数量 |
示例已编译验证
/* 删除元素,或把一个元素移动到已初始化输出值后删除。 */ result = xrtTypedArrayRemove(pArray, iIndex, iCount);
xrtTypedArrayTake
XRT_API bool xrtTypedArrayTake( xtypedarray* pArray, size_t iIndex, ptr pValue );
示例已编译验证
/* XRT_API bool xrtTypedArrayTake( xtypedarray* pArray, size_t iIndex, ptr pValue ); */ result = xrtTypedArrayTake();
xrtTypedArrayPop
XRT_API bool xrtTypedArrayPop(xtypedarray* pArray, ptr pValue);
示例已编译验证
/* XRT_API bool xrtTypedArrayPop(xtypedarray* pArray, ptr pValue); */ result = xrtTypedArrayPop();
xrtTypedArraySwap
交换、反转、查找或判断元素;查找未命中返回 SIZE_MAX。
| 参数 | 说明 |
|---|---|
| xtypedarray* pArray | 数组对象 |
| size_t iLeft | Left 参数 |
| size_t iRight | Rght 参数 |
示例已编译验证
/* 交换、反转、查找或判断元素;查找未命中返回 SIZE_MAX。 */ result = xrtTypedArraySwap(pArray, iLeft, iRight);
xrtTypedArrayReverse
XRT_API bool xrtTypedArrayReverse(xtypedarray* pArray);
示例已编译验证
/* XRT_API bool xrtTypedArrayReverse(xtypedarray* pArray); */ result = xrtTypedArrayReverse();
xrtTypedArrayFind
XRT_API size_t xrtTypedArrayFind( const xtypedarray* pArray, const void* pItem );
示例已编译验证
/* XRT_API size_t xrtTypedArrayFind( const xtypedarray* pArray, const void* pItem ); */ result = xrtTypedArrayFind();
xrtTypedArrayContains
XRT_API bool xrtTypedArrayContains( const xtypedarray* pArray, const void* pItem );
示例已编译验证
/* XRT_API bool xrtTypedArrayContains( const xtypedarray* pArray, const void* pItem ); */ result = xrtTypedArrayContains();
xrtTypedArrayAppend
事务追加同类型数组,或把两个数组深复制并拼接为独立数组。
| 参数 | 说明 |
|---|---|
| xtypedarray* pTarget | 目标 |
| const xtypedarray* pSource | 来源 |
示例已编译验证
/* 事务追加同类型数组,或把两个数组深复制并拼接为独立数组。 */ result = xrtTypedArrayAppend(pTarget, pSource);
xrtTypedArrayClone
XRT_API xtypedarray* xrtTypedArrayClone(const xtypedarray* pArray);
示例已编译验证
/* XRT_API xtypedarray* xrtTypedArrayClone(const xtypedarray* pArray); */ result = xrtTypedArrayClone();
xrtTypedArrayConcat
XRT_API xtypedarray* xrtTypedArrayConcat( const xtypedarray* pLeft, const xtypedarray* pRight );
示例已编译验证
/* XRT_API xtypedarray* xrtTypedArrayConcat( const xtypedarray* pLeft, const xtypedarray* pRight ); */ result = xrtTypedArrayConcat();
xrtTypedArrayEquals
比较两个数组的精确类型身份、元素数量和元素顺序。
| 参数 | 说明 |
|---|---|
| const xtypedarray* pLeft | 左操作数 |
| const xtypedarray* pRight | 右操作数 |
示例已编译验证
/* 比较两个数组的精确类型身份、元素数量和元素顺序。 */ result = xrtTypedArrayEquals(pLeft, pRight);
xrtTypedArrayTypeValidate
验证对象数组类型描述,并返回其共享实例操作表。
| 参数 | 说明 |
|---|---|
| const xrttype* pType | 类型 |
示例已编译验证
/* 验证对象数组类型描述,并返回其共享实例操作表。 */ result = xrtTypedArrayTypeValidate(pType);
xrtTypedArrayInstanceOps
XRT_API const xrtinstanceops* xrtTypedArrayInstanceOps(void);
示例已编译验证
/* XRT_API const xrtinstanceops* xrtTypedArrayInstanceOps(void); */ result = xrtTypedArrayInstanceOps();