mn::pointer::basic_save_ptr< T > Class Template Reference

#include <mn_save_ptr.hpp>

Public Types

using value_type = T
 
using element_type = T
 
using pointer = T *
 
using reference = T &
 
using self_type = basic_save_ptr< T >
 

Public Member Functions

 basic_save_ptr ()
 
 basic_save_ptr (T *v)
 
 ~basic_save_ptr ()
 
value_type const * get () const
 
value_typeget ()
 
value_type const & operator* () const
 
value_typeoperator* ()
 
value_type const * operator-> () const
 
value_typeoperator-> ()
 
value_typerelease ()
 
void reset (value_type *p=NULL)
 
void swap (self_type &other)
 
 basic_save_ptr (const basic_save_ptr &other)=delete
 
basic_save_ptr const & operator= (const basic_save_ptr &other)=delete
 

Private Attributes

pointer m_ptr
 

Member Typedef Documentation

◆ element_type

template<typename T >
using mn::pointer::basic_save_ptr< T >::element_type = T

◆ pointer

template<typename T >
using mn::pointer::basic_save_ptr< T >::pointer = T*

◆ reference

template<typename T >
using mn::pointer::basic_save_ptr< T >::reference = T&

◆ self_type

template<typename T >
using mn::pointer::basic_save_ptr< T >::self_type = basic_save_ptr<T>

◆ value_type

template<typename T >
using mn::pointer::basic_save_ptr< T >::value_type = T

Constructor & Destructor Documentation

◆ basic_save_ptr() [1/3]

template<typename T >
mn::pointer::basic_save_ptr< T >::basic_save_ptr ( )
inline

◆ basic_save_ptr() [2/3]

template<typename T >
mn::pointer::basic_save_ptr< T >::basic_save_ptr ( T *  v)
inlineexplicit

◆ ~basic_save_ptr()

template<typename T >
mn::pointer::basic_save_ptr< T >::~basic_save_ptr ( )
inline

◆ basic_save_ptr() [3/3]

template<typename T >
mn::pointer::basic_save_ptr< T >::basic_save_ptr ( const basic_save_ptr< T > &  other)
delete

Member Function Documentation

◆ get() [1/2]

template<typename T >
value_type* mn::pointer::basic_save_ptr< T >::get ( void  )
inline

◆ get() [2/2]

template<typename T >
value_type const* mn::pointer::basic_save_ptr< T >::get ( void  ) const
inline

◆ operator*() [1/2]

template<typename T >
value_type& mn::pointer::basic_save_ptr< T >::operator* ( void  )
inline

◆ operator*() [2/2]

template<typename T >
value_type const& mn::pointer::basic_save_ptr< T >::operator* ( void  ) const
inline

◆ operator->() [1/2]

template<typename T >
value_type* mn::pointer::basic_save_ptr< T >::operator-> ( )
inline

◆ operator->() [2/2]

template<typename T >
value_type const* mn::pointer::basic_save_ptr< T >::operator-> ( ) const
inline

◆ operator=()

template<typename T >
basic_save_ptr const& mn::pointer::basic_save_ptr< T >::operator= ( const basic_save_ptr< T > &  other)
delete

◆ release()

template<typename T >
value_type* mn::pointer::basic_save_ptr< T >::release ( )
inline

◆ reset()

template<typename T >
void mn::pointer::basic_save_ptr< T >::reset ( value_type p = NULL)
inline

◆ swap()

template<typename T >
void mn::pointer::basic_save_ptr< T >::swap ( self_type other)
inline

Member Data Documentation

◆ m_ptr

template<typename T >
pointer mn::pointer::basic_save_ptr< T >::m_ptr
private

The documentation for this class was generated from the following file: