18 #ifndef MINLIB_aff55cd7_915b_4f3d_82b9_124e264a3df5_H_
19 #define MINLIB_aff55cd7_915b_4f3d_82b9_124e264a3df5_H_
21 #include "../mn_config.hpp"
23 #include "../container/mn_node.hpp"
28 template <
typename T,
class TAllocator>
36 using node_type = container::basic_value_node<pointer, TAllocator>*;
52 if(pChild == NULL)
return;
54 node_type* nextNode = container::upcast(pChild->Next);
57 nextNode->remove();
delete nextNode;
Definition: mn_node_ptr.hpp:29
const pointer operator->() const
Definition: mn_node_ptr.hpp:98
node_ptr(const pointer value)
Definition: mn_node_ptr.hpp:40
T value_type
Definition: mn_node_ptr.hpp:33
node_ptr()
Definition: mn_node_ptr.hpp:38
void clear()
Definition: mn_node_ptr.hpp:65
~node_ptr()
Definition: mn_node_ptr.hpp:43
T & reference
Definition: mn_node_ptr.hpp:35
void add_child(const pointer value)
Definition: mn_node_ptr.hpp:47
void remove_child(const node_type *pChild)
Definition: mn_node_ptr.hpp:51
const pointer get() const
Definition: mn_node_ptr.hpp:92
pointer operator->()
Definition: mn_node_ptr.hpp:99
container::basic_value_node< pointer, TAllocator > * node_type
Definition: mn_node_ptr.hpp:36
pointer get()
Definition: mn_node_ptr.hpp:93
node_ptr const & operator=(const node_ptr &other)=delete
T element_type
Definition: mn_node_ptr.hpp:32
node_type child()
Definition: mn_node_ptr.hpp:62
node_ptr(const node_ptr &other)=delete
pointer release()
Definition: mn_node_ptr.hpp:76
void swap(self_type &other)
Definition: mn_node_ptr.hpp:88
node_type m_pNode
Definition: mn_node_ptr.hpp:105
void reset(pointer p=NULL)
Definition: mn_node_ptr.hpp:81
T * pointer
Definition: mn_node_ptr.hpp:34
const reference operator*() const
Definition: mn_node_ptr.hpp:95
struct mn::memory::detail::ptr_difference T
Definition: mn_atomic_singleton.hpp:38
Definition: mn_allocator_typetraits.hpp:25