Main MRPT website > C++ reference for MRPT 1.4.0
List of all members | Public Types | Public Member Functions | Protected Attributes
stlplus::smart_ptr_base< T, C, COUNTER > Class Template Reference

Detailed Description

template<typename T, typename C, typename COUNTER>
class stlplus::smart_ptr_base< T, C, COUNTER >

Definition at line 64 of file smart_ptr.hpp.

#include <mrpt/otherlibs/stlplus/smart_ptr.hpp>

Inheritance diagram for stlplus::smart_ptr_base< T, C, COUNTER >:
Inheritance graph

Public Types

typedef T value_type
 
typedef T & reference
 
typedef const T & const_reference
 
typedef C value_copy
 

Public Member Functions

 smart_ptr_base (void)
 
 smart_ptr_base (const T &data) throw (illegal_copy)
 
 smart_ptr_base (T *data)
 
 smart_ptr_base (const smart_ptr_base< T, C, COUNTER > &r)
 
 ~smart_ptr_base (void)
 
 operator bool (void) const
 
bool operator! (void) const
 
bool present (void) const
 
bool null (void) const
 
T & operator* (void) throw (null_dereference)
 
const T & operator* (void) const throw (null_dereference)
 
T * operator-> (void) throw (null_dereference)
 
const T * operator-> (void) const throw (null_dereference)
 
void set_value (const T &data) throw (illegal_copy)
 
T & value (void) throw (null_dereference)
 
const T & value (void) const throw (null_dereference)
 
void set (T *data=0)
 
T * pointer (void)
 
const T * pointer (void) const
 
void alias (const smart_ptr_base< T, C, COUNTER > &)
 
bool aliases (const smart_ptr_base< T, C, COUNTER > &) const
 
unsigned alias_count (void) const
 
void clear (void)
 
void clear_unique (void)
 
void make_unique (void) throw (illegal_copy)
 
void copy (const smart_ptr_base< T, C, COUNTER > &) throw (illegal_copy)
 
void * handle (void) const
 
void make_alias (void *handle)
 

Protected Attributes

smart_ptr_holder< T, COUNTER > * m_holder
 

Member Typedef Documentation

◆ const_reference

template<typename T , typename C , typename COUNTER >
typedef const T& stlplus::smart_ptr_base< T, C, COUNTER >::const_reference

Definition at line 72 of file smart_ptr.hpp.

◆ reference

template<typename T , typename C , typename COUNTER >
typedef T& stlplus::smart_ptr_base< T, C, COUNTER >::reference

Definition at line 71 of file smart_ptr.hpp.

◆ value_copy

template<typename T , typename C , typename COUNTER >
typedef C stlplus::smart_ptr_base< T, C, COUNTER >::value_copy

Definition at line 73 of file smart_ptr.hpp.

◆ value_type

template<typename T , typename C , typename COUNTER >
typedef T stlplus::smart_ptr_base< T, C, COUNTER >::value_type

Definition at line 70 of file smart_ptr.hpp.

Constructor & Destructor Documentation

◆ smart_ptr_base() [1/4]

template<typename T , typename C , typename COUNTER >
stlplus::smart_ptr_base< T, C, COUNTER >::smart_ptr_base ( void  )

◆ smart_ptr_base() [2/4]

template<typename T , typename C , typename COUNTER >
stlplus::smart_ptr_base< T, C, COUNTER >::smart_ptr_base ( const T &  data)
throw (illegal_copy
)
explicit

◆ smart_ptr_base() [3/4]

template<typename T , typename C , typename COUNTER >
stlplus::smart_ptr_base< T, C, COUNTER >::smart_ptr_base ( T *  data)
explicit

◆ smart_ptr_base() [4/4]

template<typename T , typename C , typename COUNTER >
stlplus::smart_ptr_base< T, C, COUNTER >::smart_ptr_base ( const smart_ptr_base< T, C, COUNTER > &  r)
explicit

◆ ~smart_ptr_base()

template<typename T , typename C , typename COUNTER >
stlplus::smart_ptr_base< T, C, COUNTER >::~smart_ptr_base ( void  )

Member Function Documentation

◆ alias()

template<typename T , typename C , typename COUNTER >
void stlplus::smart_ptr_base< T, C, COUNTER >::alias ( const smart_ptr_base< T, C, COUNTER > &  )
inline

◆ alias_count()

template<typename T , typename C , typename COUNTER >
unsigned stlplus::smart_ptr_base< T, C, COUNTER >::alias_count ( void  ) const
inline

◆ aliases()

template<typename T , typename C , typename COUNTER >
bool stlplus::smart_ptr_base< T, C, COUNTER >::aliases ( const smart_ptr_base< T, C, COUNTER > &  ) const
inline

Referenced by std::operator!=(), and std::operator==().

◆ clear()

template<typename T , typename C , typename COUNTER >
void stlplus::smart_ptr_base< T, C, COUNTER >::clear ( void  )
inline

◆ clear_unique()

template<typename T , typename C , typename COUNTER >
void stlplus::smart_ptr_base< T, C, COUNTER >::clear_unique ( void  )
inline

◆ copy()

template<typename T , typename C , typename COUNTER >
void stlplus::smart_ptr_base< T, C, COUNTER >::copy ( const smart_ptr_base< T, C, COUNTER > &  )
throw (illegal_copy
)

◆ handle()

template<typename T , typename C , typename COUNTER >
void* stlplus::smart_ptr_base< T, C, COUNTER >::handle ( void  ) const

◆ make_alias()

template<typename T , typename C , typename COUNTER >
void stlplus::smart_ptr_base< T, C, COUNTER >::make_alias ( void *  handle)

◆ make_unique()

template<typename T , typename C , typename COUNTER >
void stlplus::smart_ptr_base< T, C, COUNTER >::make_unique ( void  )
throw (illegal_copy
)
inline

◆ null()

template<typename T , typename C , typename COUNTER >
bool stlplus::smart_ptr_base< T, C, COUNTER >::null ( void  ) const

◆ operator bool()

template<typename T , typename C , typename COUNTER >
stlplus::smart_ptr_base< T, C, COUNTER >::operator bool ( void  ) const

◆ operator!()

template<typename T , typename C , typename COUNTER >
bool stlplus::smart_ptr_base< T, C, COUNTER >::operator! ( void  ) const

◆ operator*() [1/2]

template<typename T , typename C , typename COUNTER >
T& stlplus::smart_ptr_base< T, C, COUNTER >::operator* ( void  )
throw (null_dereference
)

◆ operator*() [2/2]

template<typename T , typename C , typename COUNTER >
const T& stlplus::smart_ptr_base< T, C, COUNTER >::operator* ( void  ) const
throw (null_dereference
)

◆ operator->() [1/2]

template<typename T , typename C , typename COUNTER >
T* stlplus::smart_ptr_base< T, C, COUNTER >::operator-> ( void  )
throw (null_dereference
)

◆ operator->() [2/2]

template<typename T , typename C , typename COUNTER >
const T* stlplus::smart_ptr_base< T, C, COUNTER >::operator-> ( void  ) const
throw (null_dereference
)

◆ pointer() [1/2]

template<typename T , typename C , typename COUNTER >
T* stlplus::smart_ptr_base< T, C, COUNTER >::pointer ( void  )

◆ pointer() [2/2]

template<typename T , typename C , typename COUNTER >
const T* stlplus::smart_ptr_base< T, C, COUNTER >::pointer ( void  ) const

◆ present()

template<typename T , typename C , typename COUNTER >
bool stlplus::smart_ptr_base< T, C, COUNTER >::present ( void  ) const

◆ set()

template<typename T , typename C , typename COUNTER >
void stlplus::smart_ptr_base< T, C, COUNTER >::set ( T *  data = 0)

◆ set_value()

template<typename T , typename C , typename COUNTER >
void stlplus::smart_ptr_base< T, C, COUNTER >::set_value ( const T &  data)
throw (illegal_copy
)

◆ value() [1/2]

template<typename T , typename C , typename COUNTER >
T& stlplus::smart_ptr_base< T, C, COUNTER >::value ( void  )
throw (null_dereference
)

◆ value() [2/2]

template<typename T , typename C , typename COUNTER >
const T& stlplus::smart_ptr_base< T, C, COUNTER >::value ( void  ) const
throw (null_dereference
)

Member Data Documentation

◆ m_holder

template<typename T , typename C , typename COUNTER >
smart_ptr_holder<T,COUNTER>* stlplus::smart_ptr_base< T, C, COUNTER >::m_holder
protected

Definition at line 175 of file smart_ptr.hpp.




Page generated by Doxygen 1.8.20 for MRPT 1.4.0 SVN: at Thu Aug 27 02:40:23 UTC 2020