Main MRPT website > C++ reference for MRPT 1.5.7
List of all members | Public Member Functions | Private Attributes
mrpt::utils::poly_ptr_ptr< T > Class Template Reference

Detailed Description

template<typename T>
class mrpt::utils::poly_ptr_ptr< T >

Wrapper to a smart pointer to polymorphic classes, capable of handling copy operator, etc.

making deep copies. Example use: poly_ptr_ptr<mrpt::poses::CPosePDFPtr>

See also
copy_ptr<T>

Definition at line 27 of file poly_ptr_ptr.h.

#include <mrpt/utils/poly_ptr_ptr.h>

Inheritance diagram for mrpt::utils::poly_ptr_ptr< T >:
Inheritance graph

Public Member Functions

 poly_ptr_ptr (const T &ptr)
 Ctor from a smart pointer; makes deep copy. More...
 
 poly_ptr_ptr ()
 Default ctor; init to nullptr. More...
 
 poly_ptr_ptr (const poly_ptr_ptr< T > &o)
 copy ctor: makes a copy of the object via clone() More...
 
poly_ptr_ptr< T > & operator= (const poly_ptr_ptr< T > &o)
 
poly_ptr_ptr< T > & operator= (const T &o_ptr)
 
 ~poly_ptr_ptr ()
 
T::value_type * pointer ()
 
const T::value_type * pointer () const
 
T::value_type * operator-> ()
 
const T::value_type * operator-> () const
 
T::value_type & operator* (void)
 
const T::value_type & operator* (void) const
 
 operator bool () const
 
bool operator! (void) const
 
const T & get_ptr () const
 
T & get_ptr ()
 
void clear_unique ()
 

Private Attributes

m_smartptr
 

Constructor & Destructor Documentation

◆ poly_ptr_ptr() [1/3]

template<typename T>
mrpt::utils::poly_ptr_ptr< T >::poly_ptr_ptr ( const T &  ptr)
inline

Ctor from a smart pointer; makes deep copy.

Definition at line 31 of file poly_ptr_ptr.h.

◆ poly_ptr_ptr() [2/3]

template<typename T>
mrpt::utils::poly_ptr_ptr< T >::poly_ptr_ptr ( )
inline

Default ctor; init to nullptr.

Definition at line 36 of file poly_ptr_ptr.h.

◆ poly_ptr_ptr() [3/3]

template<typename T>
mrpt::utils::poly_ptr_ptr< T >::poly_ptr_ptr ( const poly_ptr_ptr< T > &  o)
inline

copy ctor: makes a copy of the object via clone()

Definition at line 38 of file poly_ptr_ptr.h.

◆ ~poly_ptr_ptr()

template<typename T>
mrpt::utils::poly_ptr_ptr< T >::~poly_ptr_ptr ( )
inline

Definition at line 67 of file poly_ptr_ptr.h.

Member Function Documentation

◆ clear_unique()

template<typename T>
void mrpt::utils::poly_ptr_ptr< T >::clear_unique ( )
inline

Definition at line 90 of file poly_ptr_ptr.h.

◆ get_ptr() [1/2]

template<typename T>
const T& mrpt::utils::poly_ptr_ptr< T >::get_ptr ( ) const
inline

◆ get_ptr() [2/2]

template<typename T>
T& mrpt::utils::poly_ptr_ptr< T >::get_ptr ( )
inline

Definition at line 88 of file poly_ptr_ptr.h.

◆ operator bool()

template<typename T>
mrpt::utils::poly_ptr_ptr< T >::operator bool ( ) const
inline

Definition at line 84 of file poly_ptr_ptr.h.

◆ operator!()

template<typename T>
bool mrpt::utils::poly_ptr_ptr< T >::operator! ( void  ) const
inline

Definition at line 85 of file poly_ptr_ptr.h.

◆ operator*() [1/2]

template<typename T>
T::value_type& mrpt::utils::poly_ptr_ptr< T >::operator* ( void  )
inline

Definition at line 81 of file poly_ptr_ptr.h.

◆ operator*() [2/2]

template<typename T>
const T::value_type& mrpt::utils::poly_ptr_ptr< T >::operator* ( void  ) const
inline

Definition at line 82 of file poly_ptr_ptr.h.

◆ operator->() [1/2]

template<typename T>
T::value_type* mrpt::utils::poly_ptr_ptr< T >::operator-> ( void  )
inline

Definition at line 78 of file poly_ptr_ptr.h.

◆ operator->() [2/2]

template<typename T>
const T::value_type* mrpt::utils::poly_ptr_ptr< T >::operator-> ( void  ) const
inline

Definition at line 79 of file poly_ptr_ptr.h.

◆ operator=() [1/2]

template<typename T>
poly_ptr_ptr<T>& mrpt::utils::poly_ptr_ptr< T >::operator= ( const poly_ptr_ptr< T > &  o)
inline

Definition at line 42 of file poly_ptr_ptr.h.

◆ operator=() [2/2]

template<typename T>
poly_ptr_ptr<T>& mrpt::utils::poly_ptr_ptr< T >::operator= ( const T &  o_ptr)
inline

Definition at line 48 of file poly_ptr_ptr.h.

◆ pointer() [1/2]

template<typename T>
T::value_type* mrpt::utils::poly_ptr_ptr< T >::pointer ( )
inline

◆ pointer() [2/2]

template<typename T>
const T::value_type* mrpt::utils::poly_ptr_ptr< T >::pointer ( ) const
inline

Definition at line 73 of file poly_ptr_ptr.h.

Member Data Documentation

◆ m_smartptr

template<typename T>
T mrpt::utils::poly_ptr_ptr< T >::m_smartptr
private



Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019