21 #ifndef STLPLUS_SMART_PTR
22 #define STLPLUS_SMART_PTR
63 template<
typename T,
typename C,
typename COUNTER>
103 operator bool(
void)
const;
106 bool null(void)
const;
189 template <
typename T>
201 template <
typename T>
213 template <
typename T>
227 template <
typename T,
typename COUNTER = mrpt::synch::CAtomicCounter>
242 template <
typename T,
typename COUNTER = mrpt::synch::CAtomicCounter>
257 template <
typename T,
typename COUNTER = mrpt::synch::CAtomicCounter>
T * operator()(const T &from)
T * operator()(const T &from)
T * operator()(const T &)
void set_value(const T &data)
unsigned alias_count(void) const
bool aliases(const smart_ptr_base< T, C, COUNTER > &) const
void make_alias(void *handle)
smart_ptr_base(const T &data)
void alias(const smart_ptr_base< T, C, COUNTER > &)
smart_ptr_base(const smart_ptr_base< T, C, COUNTER > &r)
const T * operator->(void) const
const T * pointer(void) const
const T & operator*(void) const
bool operator!(void) const
void copy(const smart_ptr_base< T, C, COUNTER > &)
const T & value(void) const
const T & const_reference
void * handle(void) const
smart_ptr_holder< T, COUNTER > * m_holder
smart_ptr_clone< T > & operator=(const smart_ptr_clone< T > &r)
smart_ptr_clone(const T &data)
smart_ptr_clone< T > & operator=(const T &data)
smart_ptr_nocopy(T *data)
smart_ptr_nocopy< T > & operator=(const T &data)
smart_ptr_nocopy(const T &data)
smart_ptr_nocopy< T > & operator=(const smart_ptr_nocopy< T > &r)
smart_ptr< T > & operator=(const T &data)
smart_ptr< T > & operator=(const smart_ptr< T > &r)