41 #ifndef PB_DS_RB_TREE_NODE_HPP
42 #define PB_DS_RB_TREE_NODE_HPP
51 template<
typename Value_Type,
class Metadata,
typename _Alloc>
55 typedef Value_Type value_type;
56 typedef Metadata metadata_type;
59 typename _Alloc::template rebind<
63 _Alloc> >::other::pointer
67 typename _Alloc::template rebind<
68 metadata_type>::other::reference
72 typename _Alloc::template rebind<
73 metadata_type>::other::const_reference
74 metadata_const_reference;
80 metadata_const_reference
82 {
return m_metadata; }
86 {
return m_metadata; }
88 #ifdef PB_DS_BIN_SEARCH_TREE_TRACE_
92 std::cout << PB_DS_V2F(m_value) <<(m_red?
" <r> " :
" <b> ")
93 <<
"(" << m_metadata <<
")";
97 node_pointer m_p_left;
98 node_pointer m_p_right;
99 node_pointer m_p_parent;
102 metadata_type m_metadata;
105 template<
typename Value_Type,
typename _Alloc>
109 typedef Value_Type value_type;
113 typename _Alloc::template rebind<
117 _Alloc> >::other::pointer
124 #ifdef PB_DS_BIN_SEARCH_TREE_TRACE_
127 { std::cout << PB_DS_V2F(m_value) <<(m_red?
" <r> " :
" <b> "); }
130 node_pointer m_p_left;
131 node_pointer m_p_right;
132 node_pointer m_p_parent;
GNU extensions for policy-based data structures for public use.
Represents no type, or absence of type, for template tricks.
Node for Red-Black trees.