mn::pointer::node_ptr< T, TAllocator > Class Template Reference

#include <mn_node_ptr.hpp>

Public Types

using self_type = node_ptr< T, TAllocator >
 
using element_type = T
 
using value_type = T
 
using pointer = T *
 
using reference = T &
 
using node_type = container::basic_value_node< pointer, TAllocator > *
 

Public Member Functions

 node_ptr ()
 
 node_ptr (const pointer value)
 
 ~node_ptr ()
 
void add_child (const pointer value)
 
void remove_child (const node_type *pChild)
 
node_type child ()
 
void clear ()
 
pointer release ()
 
void reset (pointer p=NULL)
 
void swap (self_type &other)
 
const pointer get () const
 
pointer get ()
 
const reference operator* () const
 
reference operator* ()
 
const pointer operator-> () const
 
pointer operator-> ()
 
 node_ptr (const node_ptr &other)=delete
 
node_ptr const & operator= (const node_ptr &other)=delete
 

Private Attributes

node_type m_pNode
 

Member Typedef Documentation

◆ element_type

template<typename T , class TAllocator >
using mn::pointer::node_ptr< T, TAllocator >::element_type = T

◆ node_type

template<typename T , class TAllocator >
using mn::pointer::node_ptr< T, TAllocator >::node_type = container::basic_value_node<pointer, TAllocator>*

◆ pointer

template<typename T , class TAllocator >
using mn::pointer::node_ptr< T, TAllocator >::pointer = T*

◆ reference

template<typename T , class TAllocator >
using mn::pointer::node_ptr< T, TAllocator >::reference = T&

◆ self_type

template<typename T , class TAllocator >
using mn::pointer::node_ptr< T, TAllocator >::self_type = node_ptr<T, TAllocator>

◆ value_type

template<typename T , class TAllocator >
using mn::pointer::node_ptr< T, TAllocator >::value_type = T

Constructor & Destructor Documentation

◆ node_ptr() [1/3]

template<typename T , class TAllocator >
mn::pointer::node_ptr< T, TAllocator >::node_ptr ( )
inline

◆ node_ptr() [2/3]

template<typename T , class TAllocator >
mn::pointer::node_ptr< T, TAllocator >::node_ptr ( const pointer  value)
inlineexplicit

◆ ~node_ptr()

template<typename T , class TAllocator >
mn::pointer::node_ptr< T, TAllocator >::~node_ptr ( )
inline

◆ node_ptr() [3/3]

template<typename T , class TAllocator >
mn::pointer::node_ptr< T, TAllocator >::node_ptr ( const node_ptr< T, TAllocator > &  other)
delete

Member Function Documentation

◆ add_child()

template<typename T , class TAllocator >
void mn::pointer::node_ptr< T, TAllocator >::add_child ( const pointer  value)
inline

◆ child()

template<typename T , class TAllocator >
node_type mn::pointer::node_ptr< T, TAllocator >::child ( )
inline

◆ clear()

template<typename T , class TAllocator >
void mn::pointer::node_ptr< T, TAllocator >::clear ( )
inline

◆ get() [1/2]

template<typename T , class TAllocator >
pointer mn::pointer::node_ptr< T, TAllocator >::get ( void  )
inline

◆ get() [2/2]

template<typename T , class TAllocator >
const pointer mn::pointer::node_ptr< T, TAllocator >::get ( void  ) const
inline

◆ operator*() [1/2]

template<typename T , class TAllocator >
reference mn::pointer::node_ptr< T, TAllocator >::operator* ( void  )
inline

◆ operator*() [2/2]

template<typename T , class TAllocator >
const reference mn::pointer::node_ptr< T, TAllocator >::operator* ( void  ) const
inline

◆ operator->() [1/2]

template<typename T , class TAllocator >
pointer mn::pointer::node_ptr< T, TAllocator >::operator-> ( )
inline

◆ operator->() [2/2]

template<typename T , class TAllocator >
const pointer mn::pointer::node_ptr< T, TAllocator >::operator-> ( ) const
inline

◆ operator=()

template<typename T , class TAllocator >
node_ptr const& mn::pointer::node_ptr< T, TAllocator >::operator= ( const node_ptr< T, TAllocator > &  other)
delete

◆ release()

template<typename T , class TAllocator >
pointer mn::pointer::node_ptr< T, TAllocator >::release ( )
inline

◆ remove_child()

template<typename T , class TAllocator >
void mn::pointer::node_ptr< T, TAllocator >::remove_child ( const node_type pChild)
inline

◆ reset()

template<typename T , class TAllocator >
void mn::pointer::node_ptr< T, TAllocator >::reset ( pointer  p = NULL)
inline

◆ swap()

template<typename T , class TAllocator >
void mn::pointer::node_ptr< T, TAllocator >::swap ( self_type other)
inline

Member Data Documentation

◆ m_pNode

template<typename T , class TAllocator >
node_type mn::pointer::node_ptr< T, TAllocator >::m_pNode
private

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