80 #ifdef PB_DS_DATA_TRUE_INDICATOR
81 # define PB_DS_S_TREE_NAME splay_tree_map
82 # define PB_DS_S_TREE_BASE_NAME bin_search_tree_map
85 #ifdef PB_DS_DATA_FALSE_INDICATOR
86 # define PB_DS_S_TREE_NAME splay_tree_set
87 # define PB_DS_S_TREE_BASE_NAME bin_search_tree_set
90 #define PB_DS_CLASS_T_DEC \
91 template<typename Key, typename Mapped, typename Cmp_Fn, \
92 typename Node_And_It_Traits, typename _Alloc>
94 #define PB_DS_CLASS_C_DEC \
95 PB_DS_S_TREE_NAME<Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc>
97 #define PB_DS_S_TREE_BASE \
98 PB_DS_S_TREE_BASE_NAME<Key, Mapped, Cmp_Fn, Node_And_It_Traits, _Alloc>
105 template<
typename Key,
typename Mapped,
typename Cmp_Fn,
106 typename Node_And_It_Traits,
typename _Alloc>
111 #ifdef _GLIBCXX_DEBUG
156 template<
typename It>
163 inline std::pair<point_iterator, bool>
169 #ifdef PB_DS_DATA_TRUE_INDICATOR
171 std::pair<point_iterator, bool> ins_pair =
174 ins_pair.first.m_p_nd->m_special =
false;
176 splay(ins_pair.first.m_p_nd);
178 return ins_pair.first.m_p_nd->m_value.second;
181 return base_type::s_null_type;
200 template<
typename Pred>
211 inline std::pair<point_iterator, bool>
220 #ifdef _GLIBCXX_DEBUG
222 assert_valid(
const char* file,
int line)
const;
225 assert_special_imp(
const node_pointer,
const char* file,
int line)
const;
256 #define PB_DS_ASSERT_BASE_NODE_CONSISTENT(_Node) \
257 _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(_Node, \
258 __FILE__, __LINE__);)
268 #undef PB_DS_ASSERT_BASE_NODE_CONSISTENT
269 #undef PB_DS_CLASS_T_DEC
270 #undef PB_DS_CLASS_C_DEC
271 #undef PB_DS_S_TREE_NAME
272 #undef PB_DS_S_TREE_BASE_NAME
273 #undef PB_DS_S_TREE_BASE
#define PB_DS_CLASS_C_DEC
Definition: splay_tree_.hpp:94
base_type::const_pointer const_pointer
Definition: splay_tree_.hpp:134
PB_DS_S_TREE_BASE base_type
Definition: splay_tree_.hpp:110
base_type::node_pointer node_pointer
Definition: splay_tree_.hpp:114
base_type::node_update node_update
Definition: splay_tree_.hpp:143
base_type::mapped_const_pointer mapped_const_pointer
Definition: splay_tree_.hpp:129
void splay_zz_start(node_pointer, node_pointer, node_pointer)
Cmp_Fn cmp_fn
Definition: splay_tree_.hpp:121
bool erase(key_const_reference)
void join(PB_DS_CLASS_C_DEC &)
mapped_reference operator[](key_const_reference r_key)
Definition: splay_tree_.hpp:167
node_pointer leftmost(node_pointer)
base_type::reverse_iterator reverse_iterator
Definition: splay_tree_.hpp:141
base_type::mapped_pointer mapped_pointer
Definition: splay_tree_.hpp:128
node_pointer find_imp(key_const_reference)
#define _GLIBCXX_DEBUG_ONLY(_Statement)
Definition: debug.h:63
_Alloc allocator_type
Definition: splay_tree_.hpp:118
std::pair< point_iterator, bool > insert(const_reference r_value)
base_type::const_iterator const_iterator
Definition: splay_tree_.hpp:140
base_type::key_reference key_reference
Definition: splay_tree_.hpp:125
point_iterator find(key_const_reference)
base_type::const_iterator point_const_iterator
Definition: splay_tree_.hpp:138
void split(key_const_reference, PB_DS_CLASS_C_DEC &)
Splay tree.
Definition: splay_tree_.hpp:107
base_type::value_type value_type
Definition: splay_tree_.hpp:132
base_type::key_const_reference key_const_reference
Definition: splay_tree_.hpp:126
_Alloc::difference_type difference_type
Definition: splay_tree_.hpp:120
void splay_zig_zag_left(node_pointer, node_pointer, node_pointer)
void splay_zig_zag_right(node_pointer, node_pointer, node_pointer)
base_type::iterator iterator
Definition: splay_tree_.hpp:139
#define PB_DS_S_TREE_BASE
Definition: splay_tree_.hpp:97
void splay_zig_zig_right(node_pointer, node_pointer, node_pointer)
base_type::key_const_pointer key_const_pointer
Definition: splay_tree_.hpp:124
splay_tree_tag container_category
Definition: splay_tree_.hpp:117
base_type::const_reference const_reference
Definition: splay_tree_.hpp:136
base_type::mapped_reference mapped_reference
Definition: splay_tree_.hpp:130
base_type::mapped_const_reference mapped_const_reference
Definition: splay_tree_.hpp:131
base_type::pointer pointer
Definition: splay_tree_.hpp:133
void splay_zig_zig_left(node_pointer, node_pointer, node_pointer)
base_type::key_type key_type
Definition: splay_tree_.hpp:122
std::pair< point_iterator, bool > insert_leaf_imp(const_reference)
base_type::key_pointer key_pointer
Definition: splay_tree_.hpp:123
void copy_from_range(It, It)
base_type::mapped_type mapped_type
Definition: splay_tree_.hpp:127
void erase_node(node_pointer)
Splay tree.
Definition: tag_and_trait.hpp:156
base_type::reference reference
Definition: splay_tree_.hpp:135
base_type::point_iterator point_iterator
Definition: splay_tree_.hpp:137
_Alloc::size_type size_type
Definition: splay_tree_.hpp:119
void splay_zz_end(node_pointer, node_pointer, node_pointer)
base_type::const_reverse_iterator const_reverse_iterator
Definition: splay_tree_.hpp:142
void swap(PB_DS_CLASS_C_DEC &)