|
Om
|
A pointee for boost::intrusive_ptr. More...
#include "shareable.hpp"
Inheritance diagram for Om::Shareable< ThisOwnerCount >:Public Member Functions | |
| virtual | ~Shareable ()=0 |
| ThisOwnerCount | GetOwnerCount () const |
Protected Member Functions | |
| Shareable () | |
| Shareable (Shareable const &) | |
| Shareable & | operator= (Shareable const &) |
Private Member Functions | |
| void | DecrementOwnerCount () |
| void | IncrementOwnerCount () |
Private Attributes | |
| ThisOwnerCount | thisOwnerCount |
| The number of owners of this object. More... | |
Friends | |
| template<typename TheOwnerCount > | |
| void | intrusive_ptr_add_ref (Shareable< TheOwnerCount > *const) |
| template<typename TheOwnerCount > | |
| void | intrusive_ptr_release (Shareable< TheOwnerCount > *const) |
This type can be used as a template argument for boost::intrusive_ptr. Shared ownership is implemented via owner counting.
Definition at line 37 of file shareable.hpp.
|
pure virtual |
|
protected |
|
protected |
| ThisOwnerCount Om::Shareable< ThisOwnerCount >::GetOwnerCount | ( | ) | const |
|
protected |
|
private |
|
private |
|
friend |
| std::overflow_error | On overflow. |
|
friend |
|
private |
Automatic instances have a owner count of 0. If the owner count is incremented from 0, it is owned by a boost::intrusive_ptr and is deleted when decremented back to zero.
Definition at line 85 of file shareable.hpp.