Om
|
A pointee for boost::intrusive_ptr. More...
#include "shareable.hpp"
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.