#include <stl_tree.h>
Inheritance diagram for __rb_tree_base_iterator:

Public Types | |
| typedef __rb_tree_node_base::base_ptr | base_ptr |
| typedef bidirectional_iterator_tag | iterator_category |
| typedef ptrdiff_t | difference_type |
Public Methods | |
| void | increment () |
| void | decrement () |
Public Attributes | |
| base_ptr | node |
|
|
Definition at line 100 of file stl_tree.h. |
|
|
Definition at line 102 of file stl_tree.h. Referenced by distance_type. |
|
|
Definition at line 101 of file stl_tree.h. |
|
|
Definition at line 123 of file stl_tree.h. References __rb_tree_red, base_ptr, and node. Referenced by __rb_tree_iterator::operator--.
00124 {
00125 if (node->color == __rb_tree_red &&
00126 node->parent->parent == node)
00127 node = node->right;
00128 else if (node->left != 0) {
00129 base_ptr y = node->left;
00130 while (y->right != 0)
00131 y = y->right;
00132 node = y;
00133 }
00134 else {
00135 base_ptr y = node->parent;
00136 while (node == y->left) {
00137 node = y;
00138 y = y->parent;
00139 }
00140 node = y;
00141 }
00142 }
|
|
|
Definition at line 105 of file stl_tree.h. References base_ptr, and node. Referenced by __rb_tree_iterator::operator++.
00106 {
00107 if (node->right != 0) {
00108 node = node->right;
00109 while (node->left != 0)
00110 node = node->left;
00111 }
00112 else {
00113 base_ptr y = node->parent;
00114 while (node == y->right) {
00115 node = y;
00116 y = y->parent;
00117 }
00118 if (node->right != y)
00119 node = y;
00120 }
00121 }
|
|
|
Definition at line 103 of file stl_tree.h. Referenced by __rb_tree_iterator::__rb_tree_iterator, rb_tree::__rb_verify, decrement, rb_tree::erase, increment, operator!=, and operator==. |
| Documentation generated on Thu May 2 15:03:16 2002 |
Generated with doxygen 1.2.12 by Dimitri van Heesch , 1997-2001 |