Lines Matching full:reference
17 objects. When an existing strong owner wants to share a reference, it calls
18 ref(). When a strong owner wants to release its reference, it calls
19 unref(). When the shared object's strong reference count goes to zero as
26 reference by calling weak_ref(). A call to weak_ref() must be balanced my a
27 call to weak_unref(). To obtain a strong reference from a weak reference,
29 a strong reference on which unref() must be called. Note that this does not
30 affect the original weak reference, weak_unref() must still be called. When
31 the weak reference count goes to zero, the object is deleted. While the
32 weak reference count is positive and the strong reference count is zero the
36 Note that a strong reference implicitly implies a weak reference. As a
56 /** Default construct, initializing the reference counts to 1.
57 The strong references collectively hold one weak reference. When the
58 strong reference count goes to zero, the collectively held weak
59 reference is released.
63 /** Destruct, asserting that the weak reference count is 1.
72 /** Return the weak reference count.
81 /** Creates a strong reference from a weak reference, if possible. The
83 is in posession of an additional strong reference. Both the original
84 reference and new reference must be properly unreferenced. If try_ref()
85 returns false, no strong reference could be created and the owner's
86 reference is in the same state as before the call.
98 /** Increment the weak reference count. Must be balanced by a call to
107 /** Decrement the weak reference count. If the weak reference count is 1
135 /** Called when the strong reference count goes to zero. This allows the
144 /** Called when the strong reference count goes to zero. Calls weak_dispose
145 on the object and releases the implicit weak reference held