My Project
|
a singulater reference counted object that gets destroyed when the refount goes to zero More...
#include <mia/core/singular_refobj.hh>
Data Structures | |
struct | Destructor |
struct | EmptyDestructor |
Public Member Functions | |
unsigned | get_refcount () const |
operator T () const | |
TSingleReferencedObject & | operator= (const TSingleReferencedObject< T > &other) |
TSingleReferencedObject & | operator= (TSingleReferencedObject< T > &&other) |
TSingleReferencedObject () | |
TSingleReferencedObject (const TSingleReferencedObject< T > &other) | |
TSingleReferencedObject (T data, const Destructor &d=empty_destructor) | |
TSingleReferencedObject (TSingleReferencedObject< T > &&other) | |
~TSingleReferencedObject () | |
Static Public Attributes | |
static const EmptyDestructor | empty_destructor |
a singulater reference counted object that gets destroyed when the refount goes to zero
This template handles singular objects that must no be copied (e.g. a resource) but that do also not fit the sigleton pattern. An example use are the HDF5 file, group, and dataset handles.
T | type of the data to be hold |
D | type of a functor that frees the resource. It must provide a static method static void apply(T& data) that frees the resource. |
Definition at line 47 of file singular_refobj.hh.
TSingleReferencedObject< T >::TSingleReferencedObject | ( | ) |
Definition at line 107 of file singular_refobj.hh.
TSingleReferencedObject< T >::TSingleReferencedObject | ( | T | data, |
const Destructor & | d = empty_destructor |
||
) |
Definition at line 113 of file singular_refobj.hh.
TSingleReferencedObject< T >::TSingleReferencedObject | ( | const TSingleReferencedObject< T > & | other | ) |
Definition at line 119 of file singular_refobj.hh.
TSingleReferencedObject< T >::TSingleReferencedObject | ( | TSingleReferencedObject< T > && | other | ) |
Definition at line 142 of file singular_refobj.hh.
TSingleReferencedObject< T >::~TSingleReferencedObject | ( | ) |
Definition at line 164 of file singular_refobj.hh.
unsigned TSingleReferencedObject< T >::get_refcount | ( | ) | const |
Definition at line 178 of file singular_refobj.hh.
References TSingleReferencedObject< T >::get_refcount().
Referenced by TSingleReferencedObject< T >::get_refcount().
TSingleReferencedObject< T >::operator T | ( | ) | const |
Definition at line 172 of file singular_refobj.hh.
TSingleReferencedObject< T > & TSingleReferencedObject< T >::operator= | ( | const TSingleReferencedObject< T > & | other | ) |
Definition at line 128 of file singular_refobj.hh.
TSingleReferencedObject< T > & TSingleReferencedObject< T >::operator= | ( | TSingleReferencedObject< T > && | other | ) |
Definition at line 149 of file singular_refobj.hh.
|
static |
Definition at line 60 of file singular_refobj.hh.