xrtObjectGraphCreate
创建和销毁一个不拥有对象强引用的独立对象图。
xrtobjectgraph* xrtObjectGraphCreate(void);
返回:创建和销毁一个不拥有对象强引用的独立对象图。
示例已编译验证
/* 创建和销毁一个不拥有对象强引用的独立对象图。 */ xhandle* h = xrtObjectGraphCreate();
xrtObjectGraphDestroy
XRT_API void xrtObjectGraphDestroy(xrtobjectgraph* pGraph);
;
返回:XRT_API void xrtObjectGraphDestroy(xrtobjectgraph* pGraph);
示例已编译验证
xrtObjectGraphDestroy(obj);
xrtObjectGraphTrack
幂等跟踪对象;同一对象在任意时刻只能属于一个对象图。
bool xrtObjectGraphTrack( xrtobjectgraph* pGraph, xrtobject* pObject );
| 参数 | 说明 |
|---|---|
| xrtobjectgraph* pGraph | 图对象 |
| xrtobject* pObject | 对象 |
返回:幂等跟踪对象;同一对象在任意时刻只能属于一个对象图。
示例已编译验证
/* 幂等跟踪对象;同一对象在任意时刻只能属于一个对象图。 */ result = xrtObjectGraphTrack(pGraph, pObject);
xrtObjectGraphUntrack
停止跟踪对象;对象不属于该图时返回 false 且不设置错误。
bool xrtObjectGraphUntrack( xrtobjectgraph* pGraph, xrtobject* pObject );
| 参数 | 说明 |
|---|---|
| xrtobjectgraph* pGraph | 图对象 |
| xrtobject* pObject | 对象 |
返回:停止跟踪对象;对象不属于该图时返回 false 且不设置错误。
示例已编译验证
/* 停止跟踪对象;对象不属于该图时返回 false 且不设置错误。 */ result = xrtObjectGraphUntrack(pGraph, pObject);
xrtObjectGraphContains
查询借用对象是否属于图以及图当前跟踪的对象数量。
bool xrtObjectGraphContains( const xrtobjectgraph* pGraph, const xrtobject* pObject );
| 参数 | 说明 |
|---|---|
| const xrtobjectgraph* pGraph | 图对象 |
| const xrtobject* pObject | 对象 |
返回:查询借用对象是否属于图以及图当前跟踪的对象数量。
示例已编译验证
/* 查询借用对象是否属于图以及图当前跟踪的对象数量。 */ result = xrtObjectGraphContains(pGraph, pObject);
xrtObjectGraphCount
XRT_API size_t xrtObjectGraphCount(const xrtobjectgraph* pGraph);
;
返回:XRT_API size_t xrtObjectGraphCount(const xrtobjectgraph* pGraph);
示例已编译验证
/* XRT_API size_t xrtObjectGraphCount(const xrtobjectgraph* pGraph); */ result = xrtObjectGraphCount();
xrtObjectGraphCollect
在调用方保证对象图静止的安全点收集不可达强引用环。
bool xrtObjectGraphCollect( xrtobjectgraph* pGraph, xrtobjectgraphresult* pResult );
| 参数 | 说明 |
|---|---|
| xrtobjectgraph* pGraph | 图对象 |
| xrtobjectgraphresult* pResult | 出:结果 |
返回:在调用方保证对象图静止的安全点收集不可达强引用环。
示例已编译验证
/* 在调用方保证对象图静止的安全点收集不可达强引用环。 */ result = xrtObjectGraphCollect(pGraph, pResult);
xrtObjectGraphCollectRoots
使用可选的宿主根枚举器收集不可达强引用环。
bool xrtObjectGraphCollectRoots( xrtobjectgraph* pGraph, xrtobjectrootproc pRoots, ptr pContext, xrtobjectgraphresult* pResult );
| 参数 | 说明 |
|---|---|
| xrtobjectgraph* pGraph | 图对象 |
| xrtobjectrootproc pRoots | Roots 参数 |
| ptr pContext | 上下文 |
| xrtobjectgraphresult* pResult | 出:结果 |
返回:使用可选的宿主根枚举器收集不可达强引用环。
示例已编译验证
/* 使用可选的宿主根枚举器收集不可达强引用环。 */ result = xrtObjectGraphCollectRoots(pGraph, pRoots, pContext, pResult);