Non-intrusive reference counting for SmartPtr. More...
Public Member Functions
|int||refs () const|
|Returns the refcount. |
Protected Member Functions
|Default constructor. |
|void||link (const ExternalRefCounted &ptr, T *object)|
|link a smart pointer to a managed object |
|bool||unlink (T *object)|
|unlink a smart pointer from a managed object |
Non-intrusive reference couting means that the reference count is not part of the managed heap object but part of the policy. Linking and unlinking will increase and decrease the policies counter and delete the managed object if it reaches zero. A small amount of memory needs to be allocated for the counter variable.