#include <cassert>
#include <cstddef>
#include <memory>
#include <stdexcept>
#include <iterator>
#include <set>
#include <queue>
#include <algorithm>
|
class | tree_node_< T > |
| A node in the tree, combining links to other nodes as well as the actual data. More...
|
|
class | tree< T, tree_node_allocator > |
|
class | tree< T, tree_node_allocator >::iterator_base |
| Base class for iterators, only pointers stored, no traversal logic. More...
|
|
class | tree< T, tree_node_allocator >::pre_order_iterator |
| Depth-first iterator, first accessing the node, then its children. More...
|
|
class | tree< T, tree_node_allocator >::post_order_iterator |
| Depth-first iterator, first accessing the children, then the node itself. More...
|
|
class | tree< T, tree_node_allocator >::breadth_first_queued_iterator |
| Breadth-first iterator, using a queue. More...
|
|
class | tree< T, tree_node_allocator >::fixed_depth_iterator |
| Iterator which traverses only the nodes at a given depth from the root. More...
|
|
class | tree< T, tree_node_allocator >::sibling_iterator |
| Iterator which traverses only the nodes which are siblings of each other. More...
|
|
class | tree< T, tree_node_allocator >::leaf_iterator |
| Iterator which traverses only the leaves. More...
|
|
class | tree< T, tree_node_allocator >::iterator_base_less |
| Comparator class for iterators (compares pointer values; why doesn't this work automatically?) More...
|
|