Lines Matching refs:RefBase
8 * 智能指针对每一个RefBase对象具有两种不同的引用形式。强引用持有对一个对象的直接引用。 具有强引用关系的对象在该强引用关系存在时同样也应当存在,也即该引用关系有效;弱引用持有对一个对象的间接…
16 * 引用计数器记录了对应RefBase对象的两种不同引用计数值,以及对于其本身,即RefCounter对象的引用计数值。
24 指向RefBase(或其子类)对象的强引用智能指针。
33 指向RefBase(或其子类)对象的强引用智能指针。
37 * **T** 被sptr管理的具体类型。该类必须继承自RefBase基类。
39 其直接引用RefBase对象。
78 指向RefBase(或其子类)对象的弱引用智能指针。
87 指向RefBase(或其子类)对象的弱引用智能指针。
91 * **T** 被wptr管理的具体类型。该类必须继承自RefBase基类。
93 其间接引用RefBase对象;直接引用WeakRefCounter对象。
109 | T* | **GetRefPtr**() const<br>获取指向被管理RefBase对象的指针 …
138 class RefBaseTest : public RefBase {
238 RefTracker作为debug工具被添加入refbase文件中,以便开发者对RefBase相关问题进行定位。该功能需要重新编译动态库替换系统原有动态库来上机使用(如是静态依赖则需开发者独立审视使…
241 全局追踪功能通过编译宏控制,可以追踪全局的RefBase及其子类的轨迹,但同时会对整机性能造成影响。
242 全局追踪中我们提供了立即打印模式及非立即打印模式。立即打印模式会在每次引用计数发生变化时对计数进行打印。非立即打印模式会在RefBase及其子类对象析构时对轨迹进行打印。
254 独立追踪功能同样能通过编译宏控制。我们为开发者提供了RefBase::EnableTracker()接口来对某个具体实例使能追踪功能。独立追踪对性能影响很小,可以忽略不计。在独立追踪中我们能同样提供…
275 (sptr pointer) call (RefBase pointer). strong: x weak: x refcnnt: x
277 (sptr pointer) call (RefBase pointer). strong: x weak: x refcnnt: x
282 (sptr pointer) call (RefBase pointer). strong: x weak: x refcnnt: x PID: xxx TID: xxx
284 (sptr pointer) call (RefBase pointer). strong: x weak: x refcnnt: x PID: xxx TID: xxx
295 RefBase* a = new RefBase();
296 sptr<RefBase> s = a;
298 sptr<RefBase> s(a); // 裸指针a容易被误delete,造成sptr功能失常