template class mrpt::containers::internal::generic_copier_ptr
Overview
#include <mrpt/containers/deepcopy_ptr.h> template <typename T, typename Copier> class generic_copier_ptr { public: // typedefs typedef T value_type; typedef Copier copier_t; // construction generic_copier_ptr(T* ptr); generic_copier_ptr(); generic_copier_ptr(const generic_copier_ptr<T, Copier>& o); generic_copier_ptr(generic_copier_ptr<T, Copier>&& o); // methods generic_copier_ptr<T, Copier>& operator = (generic_copier_ptr<T, Copier>&& o); generic_copier_ptr<T, Copier>& operator = (const generic_copier_ptr<T, Copier>& o); T* operator -> (); const T* operator -> () const; T& operator * (); const T& operator * () const; T* get(); const T* get() const; operator bool () const; bool operator ! () const; T* release(); void reset(T* ptr = nullptr); void resetDefaultCtor(); };
Construction
generic_copier_ptr(T* ptr)
Ctor from a pointer; takes ownership.
generic_copier_ptr()
Default ctor; init to nullptr.
generic_copier_ptr(const generic_copier_ptr<T, Copier>& o)
copy ctor: makes a copy of the object via clone()
generic_copier_ptr(generic_copier_ptr<T, Copier>&& o)
move ctor
Methods
generic_copier_ptr<T, Copier>& operator = (generic_copier_ptr<T, Copier>&& o)
move operator
generic_copier_ptr<T, Copier>& operator = (const generic_copier_ptr<T, Copier>& o)
copy operator
T* release()
Releases the pointer (do not destroy the object)