xrtObjectValueOps
返回对象强引用槽使用的进程期稳定值操作表。
const xrttypeops* xrtObjectValueOps(void);
返回:返回对象强引用槽使用的进程期稳定值操作表。
示例已编译验证
/* 返回对象强引用槽使用的进程期稳定值操作表。 */ result = xrtObjectValueOps();
xrtObjectCreate
按类型声明的负载大小创建堆对象,并执行类型初始化操作。
xrtobject* xrtObjectCreate(const xrttype* pType);
| 参数 | 说明 |
|---|---|
| const xrttype* pType | 类型 |
返回:按类型声明的负载大小创建堆对象,并执行类型初始化操作。
示例已编译验证
/* 按类型声明的负载大小创建堆对象,并执行类型初始化操作。 */ xhandle* h = xrtObjectCreate(pType);
xrtObjectCreateSized
创建至少容纳指定字节数的对象,用于尾随数据和 native-backed 对象。
xrtobject* xrtObjectCreateSized( const xrttype* pType, size_t iSize );
| 参数 | 说明 |
|---|---|
| const xrttype* pType | 类型 |
| size_t iSize | 字节数 |
返回:创建至少容纳指定字节数的对象,用于尾随数据和 native-backed 对象。
示例已编译验证
/* 创建至少容纳指定字节数的对象,用于尾随数据和 native-backed 对象。 */ xhandle* h = xrtObjectCreateSized(pType, iSize);
xrtObjectRef
增加对象强引用;调用方必须已经持有一个有效强引用。
xrtobject* xrtObjectRef(xrtobject* pObject);
| 参数 | 说明 |
|---|---|
| xrtobject* pObject | 对象 |
返回:增加对象强引用;调用方必须已经持有一个有效强引用。
示例已编译验证
/* 增加对象强引用;调用方必须已经持有一个有效强引用。 */ result = xrtObjectRef(pObject);
xrtObjectUnref
释放一个强引用;最后一个强引用负责执行一次 Drop。
void xrtObjectUnref(xrtobject* pObject);
| 参数 | 说明 |
|---|---|
| xrtobject* pObject | 对象 |
返回:释放一个强引用;最后一个强引用负责执行一次 Drop。
示例已编译验证
/* 释放一个强引用;最后一个强引用负责执行一次 Drop。 */ result = xrtObjectUnref(pObject);
xrtObjectType
借用对象类型、负载地址和真实负载长度。
const xrttype* xrtObjectType(const xrtobject* pObject);
| 参数 | 说明 |
|---|---|
| const xrtobject* pObject | 对象 |
返回:借用对象类型、负载地址和真实负载长度。
示例已编译验证
/* 借用对象类型、负载地址和真实负载长度。 */ result = xrtObjectType(pObject);
xrtObjectData
XRT_API ptr xrtObjectData(xrtobject* pObject);
;
返回:XRT_API ptr xrtObjectData(xrtobject* pObject);
示例已编译验证
/* XRT_API ptr xrtObjectData(xrtobject* pObject); */ result = xrtObjectData();
xrtObjectConstData
XRT_API const void* xrtObjectConstData(const xrtobject* pObject);
;
返回:XRT_API const void* xrtObjectConstData(const xrtobject* pObject);
示例已编译验证
/* XRT_API const void* xrtObjectConstData(const xrtobject* pObject); */ result = xrtObjectConstData();
xrtObjectSize
XRT_API size_t xrtObjectSize(const xrtobject* pObject);
;
返回:XRT_API size_t xrtObjectSize(const xrtobject* pObject);
示例已编译验证
/* XRT_API size_t xrtObjectSize(const xrtobject* pObject); */ result = xrtObjectSize();
xrtObjectRefCount
返回瞬时强引用数量,并判断调用方是否持有唯一强引用。
size_t xrtObjectRefCount(const xrtobject* pObject);
| 参数 | 说明 |
|---|---|
| const xrtobject* pObject | 对象 |
返回:返回瞬时强引用数量,并判断调用方是否持有唯一强引用。
示例已编译验证
/* 返回瞬时强引用数量,并判断调用方是否持有唯一强引用。 */ result = xrtObjectRefCount(pObject);
xrtObjectUnique
XRT_API bool xrtObjectUnique(const xrtobject* pObject);
;
返回:XRT_API bool xrtObjectUnique(const xrtobject* pObject);
示例已编译验证
/* XRT_API bool xrtObjectUnique(const xrtobject* pObject); */ result = xrtObjectUnique();
xrtWeakInit
初始化、复制、移动、替换和销毁弱引用值。
bool xrtWeakInit(xrtweak* pWeak, xrtobject* pObject);
| 参数 | 说明 |
|---|---|
| xrtweak* pWeak | Weak 参数 |
| xrtobject* pObject | 对象 |
返回:初始化、复制、移动、替换和销毁弱引用值。
示例已编译验证
weakinit obj; xrtWeakInit(&obj, pWeak, pObject);
xrtWeakCopy
XRT_API bool xrtWeakCopy(xrtweak* pTarget, const xrtweak* pSource);
;
返回:XRT_API bool xrtWeakCopy(xrtweak* pTarget, const xrtweak* pSource);
示例已编译验证
/* XRT_API bool xrtWeakCopy(xrtweak* pTarget, const xrtweak* pSource); */ result = xrtWeakCopy();
xrtWeakMove
XRT_API bool xrtWeakMove(xrtweak* pTarget, xrtweak* pSource);
;
返回:XRT_API bool xrtWeakMove(xrtweak* pTarget, xrtweak* pSource);
示例已编译验证
/* XRT_API bool xrtWeakMove(xrtweak* pTarget, xrtweak* pSource); */ result = xrtWeakMove();
xrtWeakSet
XRT_API bool xrtWeakSet(xrtweak* pWeak, xrtobject* pObject);
;
返回:XRT_API bool xrtWeakSet(xrtweak* pWeak, xrtobject* pObject);
示例已编译验证
/* XRT_API bool xrtWeakSet(xrtweak* pWeak, xrtobject* pObject); */ result = xrtWeakSet();
xrtWeakUnit
XRT_API void xrtWeakUnit(xrtweak* pWeak);
;
返回:XRT_API void xrtWeakUnit(xrtweak* pWeak);
示例已编译验证
xrtWeakUnit(obj);
xrtWeakExpired
判断弱引用当前是否为空或已经过期;结果只是瞬时状态。
bool xrtWeakExpired(const xrtweak* pWeak);
| 参数 | 说明 |
|---|---|
| const xrtweak* pWeak | Weak 参数 |
返回:判断弱引用当前是否为空或已经过期;结果只是瞬时状态。
示例已编译验证
/* 判断弱引用当前是否为空或已经过期;结果只是瞬时状态。 */ result = xrtWeakExpired(pWeak);
xrtWeakLock
成功时返回一个新的强引用;对象已销毁时返回空而不设置错误。
xrtobject* xrtWeakLock(const xrtweak* pWeak);
| 参数 | 说明 |
|---|---|
| const xrtweak* pWeak | Weak 参数 |
返回:成功时返回一个新的强引用;对象已销毁时返回空而不设置错误。
示例已编译验证
/* 成功时返回一个新的强引用;对象已销毁时返回空而不设置错误。 */ result = xrtWeakLock(pWeak);