Lines Matching refs:rb_tree

48 #include "../rb_tree.h"
59 struct map__node : public rb_tree::node_type {
87 node = rb_tree::successor(node); return *this;
90 map__iterator(rb_tree::node_type *n) : node(n) {
92 rb_tree::node_type *node;
122 node = rb_tree::successor(node); return *this;
125 map__const_iterator(const rb_tree::node_type *n) : node(n) {
127 const rb_tree::node_type *node;
136 class map : public rb_tree {
153 explicit map() : rb_tree() {
156 rb_tree(i1.node, i2.node, copy_node2) {
158 map(const map<key_type, mapped_type> &x) : rb_tree(x) {
163 rb_tree::operator=(x); return *this;
172 return iterator(rb_tree::begin());
175 return const_iterator(rb_tree::begin());
178 return iterator(rb_tree::end());
181 return const_iterator(rb_tree::end());
190 //bool empty() const; // Inherited from "rb_tree".
191 //size_type size() const; // Inherited from "rb_tree".
192 //size_type max_size() const; // Inherited from "rb_tree".
197 rb_tree::node_type *n = rb_tree::find_any((value_pointer) &x);
198 if (n == rb_tree::end()) {
199 n = rb_tree::insert(new node_type(value_type(x, mapped_type())));
208 if (rb_tree::find_any((value_pointer) &x.first) != rb_tree::end()) {
212 iterator(rb_tree::insert(new node_type(x))),
218 rb_tree::insert(from.node, to.node);
221 return rb_tree::erase_one((value_pointer) &x);
224 return iterator(rb_tree::erase(i.node));
227 return iterator(rb_tree::erase(i1.node, i2.node));
230 rb_tree::swap((rb_tree &) x);
232 //void clear(); // Inherited from "rb_tree".
237 return iterator(rb_tree::find_any((value_pointer) &x));
240 return const_iterator(rb_tree::find_any((value_pointer) &x));
243 return find_any((value_pointer) &x) != rb_tree::end();
246 return iterator(rb_tree::lower_bound((value_pointer) &x));
249 return const_iterator(rb_tree::lower_bound((value_pointer) &x));
252 return iterator(rb_tree::upper_bound((value_pointer) &x));
255 return const_iterator(rb_tree::upper_bound((value_pointer) &x));
276 return rb_tree::operator==((const rb_tree &) x);
279 return rb_tree::operator<((const rb_tree &) x);
282 // Implementation of "rb_tree"'s virtual methods.
286 const rb_tree::node_type *x,
287 const rb_tree::node_type *y
296 const rb_tree::node_type *y
301 const rb_tree::node_type *x,
307 /*virtual*/ rb_tree::node_type *copy_node(const rb_tree::node_type *n) const {
310 /*virtual*/ void delete_node(rb_tree::node_type *n) const {
320 const rb_tree::node_type &n,
331 rb_tree::print(os, (void *) &np);
339 static rb_tree::node_type *copy_node2(const rb_tree::node_type *n) {
343 static void delete_node2(rb_tree::node_type *n) {
354 class multimap : public rb_tree {
371 explicit multimap() : rb_tree() {
374 rb_tree(i1.node, i2.node, copy_node2) {
376 multimap(const multimap<key_type, mapped_type> &x) : rb_tree(x) {
381 rb_tree::operator=(x); return *this;
390 return iterator((node_type *) rb_tree::begin());
393 return const_iterator((const node_type *) rb_tree::begin());
396 return iterator((node_type *) rb_tree::end());
399 return const_iterator((const node_type *) rb_tree::end());
408 //bool empty() const; // Inherited from "rb_tree".
409 //size_type size() const; // Inherited from "rb_tree".
410 //size_type max_size() const; // Inherited from "rb_tree".
415 return iterator((node_type *) rb_tree::insert(new node_type(x)));
419 rb_tree::insert(from.node, to.node);
422 return rb_tree::erase_all((value_pointer) &x);
425 return iterator(rb_tree::erase(i.node));
428 return iterator(rb_tree::erase(i1.node, i2.node));
431 rb_tree::swap((rb_tree &) x);
433 //void clear(); // Inherited from "rb_tree".
438 return iterator(rb_tree::find_first((value_pointer) &x));
441 return const_iterator(rb_tree::find_first((value_pointer) &x));
444 return rb_tree::count((value_pointer) &x);
447 return iterator(rb_tree::lower_bound((value_pointer) &x));
450 return const_iterator(rb_tree::lower_bound((value_pointer) &x));
453 return iterator(rb_tree::upper_bound((value_pointer) &x));
456 return const_iterator(rb_tree::upper_bound((value_pointer) &x));
475 return rb_tree::operator==((const rb_tree &) x);
478 return rb_tree::operator<((const rb_tree &) x);
481 // Implementation of "rb_tree"'s virtual methods.
485 const rb_tree::node_type *x,
486 const rb_tree::node_type *y
495 const rb_tree::node_type *y
500 const rb_tree::node_type *x,
506 /*virtual*/ rb_tree::node_type *copy_node(const rb_tree::node_type *n) const {
509 /*virtual*/ void delete_node(rb_tree::node_type *n) const {
519 const rb_tree::node_type &n,
530 rb_tree::print(os, (void *) &np);
538 static rb_tree::node_type *copy_node2(const rb_tree::node_type *n) {
542 static void delete_node2(rb_tree::node_type *n) {