Internal structure for binary search tree. More...
Public Member Functions | |
Constructors | |
node (const value_type &v=value_type()) | |
Constructor. More... | |
node (const node &n) | |
Copy constructor. More... | |
node & | operator= (const node &n)=delete |
Copy assignment - Deleted. More... | |
~node () | |
Destructor. More... | |
Modifiers | |
node * | replace (const value_type &v) |
Replace node with a new node of a different value. More... | |
void | expand () |
Expand external node to make it internal. More... | |
node * | remove_above_external () |
Remove above external node, assumes this is external node. More... | |
Accessors | |
bool | is_root () const |
bool | is_external () const |
bool | is_internal () const |
node * | leftmost () const |
node * | inorder_next () |
node * | inorder_prev () |
Public Attributes | |
Data | |
value_type | value |
Value is pair(key, value) More... | |
node * | parent |
Parent node. More... | |
node * | left |
Left node. More... | |
node * | right |
Right node. More... | |
Internal structure for binary search tree.
mystl::map< Key, Value >::node::node | ( | const value_type & | v = value_type() | ) |
Constructor.
v | Map entry (Key, Value) pair |
mystl::map< Key, Value >::node::node | ( | const node & | n | ) |
Copy constructor.
n | node to perform deep copy from |
mystl::map< Key, Value >::node::~node | ( | ) |
Destructor.
|
delete |
Copy assignment - Deleted.
n | Other node |
node* mystl::map< Key, Value >::node::replace | ( | const value_type & | v | ) |
Replace node with a new node of a different value.
v | New value |
void mystl::map< Key, Value >::node::expand | ( | ) |
Expand external node to make it internal.
node* mystl::map< Key, Value >::node::remove_above_external | ( | ) |
Remove above external node, assumes this is external node.
n
, who is promoted to n's parent's position bool mystl::map< Key, Value >::node::is_root | ( | ) | const |
bool mystl::map< Key, Value >::node::is_external | ( | ) | const |
bool mystl::map< Key, Value >::node::is_internal | ( | ) | const |
node* mystl::map< Key, Value >::node::leftmost | ( | ) | const |
node* mystl::map< Key, Value >::node::inorder_next | ( | ) |
node* mystl::map< Key, Value >::node::inorder_prev | ( | ) |
value_type mystl::map< Key, Value >::node::value |
Value is pair(key, value)
node* mystl::map< Key, Value >::node::parent |
Parent node.
node* mystl::map< Key, Value >::node::left |
Left node.
node* mystl::map< Key, Value >::node::right |
Right node.