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* pWeakWeak 参数
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* pWeakWeak 参数
返回:判断弱引用当前是否为空或已经过期;结果只是瞬时状态。

示例已编译验证

/* 判断弱引用当前是否为空或已经过期;结果只是瞬时状态。 */
result = xrtWeakExpired(pWeak);

xrtWeakLock

成功时返回一个新的强引用;对象已销毁时返回空而不设置错误。

xrtobject* xrtWeakLock(const xrtweak* pWeak);
参数说明
const xrtweak* pWeakWeak 参数
返回:成功时返回一个新的强引用;对象已销毁时返回空而不设置错误。

示例已编译验证

/* 成功时返回一个新的强引用;对象已销毁时返回空而不设置错误。 */
result = xrtWeakLock(pWeak);