Main MRPT website > C++ reference for MRPT 1.9.9
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 clone smart pointer to polymorphic classes, capable of handling copy operator, etc.

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

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 (poly_ptr_ptr &&o)
 move ctor More...
 
poly_ptr_ptr< T > & operator= (poly_ptr_ptr< T > &&o)
 move operator More...
 
 ~poly_ptr_ptr ()
 
T::element_type * get ()
 
const T::element_type * get () const
 
T::element_type * operator-> ()
 
const T::element_type * operator-> () const
 
T::element_type & operator* (void)
 
const T::element_type & operator* (void) const
 
 operator bool () const
 
bool operator! (void) const
 
const T & get_ptr () const
 
T & get_ptr ()
 
void reset ()
 

Private Attributes

m_smartptr
 

Constructor & Destructor Documentation

◆ poly_ptr_ptr() [1/4]

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/4]

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/4]

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() [4/4]

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

move ctor

Definition at line 57 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 70 of file poly_ptr_ptr.h.

Member Function Documentation

◆ get() [1/2]

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

◆ get() [2/2]

template<typename T>
const T::element_type* mrpt::utils::poly_ptr_ptr< T >::get ( ) const
inline

Definition at line 78 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

Definition at line 92 of file poly_ptr_ptr.h.

Referenced by mrpt::slam::AuxiliaryPFStandardAndOptimal< USE_OPTIMAL_SAMPLING >::PF_SLAM_implementation_gatherActionsCheckBothActObs().

Here is the caller graph for this function:

◆ get_ptr() [2/2]

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

Definition at line 93 of file poly_ptr_ptr.h.

◆ operator bool()

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

Definition at line 90 of file poly_ptr_ptr.h.

◆ operator!()

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

Definition at line 91 of file poly_ptr_ptr.h.

◆ operator*() [1/2]

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

Definition at line 88 of file poly_ptr_ptr.h.

◆ operator*() [2/2]

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

Definition at line 89 of file poly_ptr_ptr.h.

◆ operator->() [1/2]

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

Definition at line 86 of file poly_ptr_ptr.h.

◆ operator->() [2/2]

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

Definition at line 87 of file poly_ptr_ptr.h.

◆ operator=() [1/3]

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

Definition at line 43 of file poly_ptr_ptr.h.

◆ operator=() [2/3]

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

Definition at line 50 of file poly_ptr_ptr.h.

◆ operator=() [3/3]

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

move operator

Definition at line 63 of file poly_ptr_ptr.h.

◆ reset()

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

Definition at line 94 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.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019