My Project
|
cow_ptr is a Copy On Write smart pointer. It does not require the pointee to have clone function logic. More...
#include <cow_ptr.hpp>
Public Types | |
enum | implement_default_object { eYes, eNo } |
typedef T * | pointer |
typedef T & | reference |
Public Member Functions | |
template<typename T_obj > | |
cow_ptr (T_obj *type) | |
cow_ptr (const cow_ptr &Src) | |
template<class CompatibleDerivedT > | |
cow_ptr (const cow_ptr< CompatibleDerivedT > &Src) | |
template<class CompatibleDerivedT > | |
cow_ptr & | operator= (const cow_ptr< CompatibleDerivedT > &Src) |
cow_ptr & | operator= (const cow_ptr &Src) |
cow_ptr (implement_default_object use_default_obj=eYes) | |
bool | operator! () const |
template<class T2 > | |
cow_ptr & | equal (const T2 &Src) |
T * | operator-> () |
T & | operator* () |
const T * | operator-> () const |
const T & | operator* () const |
cow_ptr & | operator+= (const cow_ptr &Src) |
template<class T2 > | |
cow_ptr & | operator+= (const T2 &Src) |
cow_ptr & | operator+ (const cow_ptr &Src) |
cow_ptr & | operator-= (const cow_ptr &Src) |
cow_ptr & | operator- (const cow_ptr &Src) |
clone_fct_Type | get_function_ptr () const |
T * | get_ptr () |
const T * | c_ptr () const |
const T & | c_ref () const |
void | swap (cow_ptr< T > &other) throw () |
bool | is_ref_linked () const |
template<class PT , class FPT > | |
void | make_clone (PT *&ptr, FPT &func_ptr) const |
Static Public Member Functions | |
static void | SetDefaultObject (const cow_ptr< T > &NewValue) |
cow_ptr is a Copy On Write smart pointer. It does not require the pointee to have clone function logic.