+
Point of view
All features
deferred class AVL_TREE [E_ -> COMPARABLE]
Summary
Class invariant
Overview
features
Adding and removing:
Looking and searching:
Iterating internals:
debug_string: STRING
effective function
count: INTEGER_32
writable attribute
remove (e: E_)
effective procedure
fast_remove (e: E_)
effective procedure
root: AVL_TREE_NODE[E_]
writable attribute
rebalance: BOOLEAN
writable attribute
item_memory: E_
writable attribute
set_value_and_key (n: AVL_TREE_NODE[E_])
deferred procedure
set_value (n: AVL_TREE_NODE[E_])
deferred procedure
fast_do_insert (n: AVL_TREE_NODE[E_]): AVL_TREE_NODE[E_]
effective function
do_insert (n: AVL_TREE_NODE[E_]): AVL_TREE_NODE[E_]
effective function
left_grown (n: AVL_TREE_NODE[E_]): AVL_TREE_NODE[E_]
effective function
right_grown (n: AVL_TREE_NODE[E_]): AVL_TREE_NODE[E_]
effective function
fast_do_remove (n: AVL_TREE_NODE[E_], e: E_): AVL_TREE_NODE[E_]
effective function
do_remove (n: AVL_TREE_NODE[E_], e: E_): AVL_TREE_NODE[E_]
effective function
remove_right (n1: AVL_TREE_NODE[E_], n2: AVL_TREE_NODE[E_]): AVL_TREE_NODE[E_]
effective function
left_shrunk (n: AVL_TREE_NODE[E_]): AVL_TREE_NODE[E_]
effective function
right_shrunk (n: AVL_TREE_NODE[E_]): AVL_TREE_NODE[E_]
effective function
exchange_and_discard (n1: AVL_TREE_NODE[E_], n2: AVL_TREE_NODE[E_])
deferred procedure
clear_nodes (node: AVL_TREE_NODE[E_])
effective procedure
node_height (node: AVL_TREE_NODE[E_]): INTEGER_32
effective function
has (e: E_): BOOLEAN
effective function
Is element e in the set?
fast_has (e: E_): BOOLEAN
effective function
Is element e in the set?
build_map
effective procedure
writable attribute
Elements in a row for iteration.
map_dirty: BOOLEAN
writable attribute
True when the map needs to be built again for the iterators.
new_node: AVL_TREE_NODE[E_]
effective function
a_new_node: AVL_TREE_NODE[E_]
deferred function
discard_node (n: AVL_TREE_NODE[E_])
deferred procedure
lost_nodes: WEAK_REFERENCE[AVL_TREE_NODE[E_]]
writable attribute
balanced: INTEGER_32
constant attribute
imbalanced_left: INTEGER_32
constant attribute
imbalanced_right: INTEGER_32
constant attribute