41 #ifndef PB_DS_SPLAY_TREE_NODE_HPP
42 #define PB_DS_SPLAY_TREE_NODE_HPP
49 template<
typename Value_Type,
class Metadata,
typename _Alloc>
53 typedef Value_Type value_type;
54 typedef Metadata metadata_type;
57 typename _Alloc::template rebind<
62 typename _Alloc::template rebind<metadata_type>::other::reference
66 typename _Alloc::template rebind<metadata_type>::other::const_reference
67 metadata_const_reference;
69 #ifdef PB_DS_BIN_SEARCH_TREE_TRACE_
72 { std::cout << PB_DS_V2F(m_value) <<
"(" << m_metadata <<
")"; }
79 inline metadata_const_reference
81 {
return m_metadata; }
83 inline metadata_reference
85 {
return m_metadata; }
89 node_pointer m_p_left;
90 node_pointer m_p_right;
91 node_pointer m_p_parent;
92 metadata_type m_metadata;
95 template<
typename Value_Type,
typename _Alloc>
99 typedef Value_Type value_type;
103 typename _Alloc::template rebind<
109 {
return m_special; }
111 #ifdef PB_DS_BIN_SEARCH_TREE_TRACE_
114 { std::cout << PB_DS_V2F(m_value); }
117 node_pointer m_p_left;
118 node_pointer m_p_right;
119 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.