liborigin 2.0.0

Classes | Namespaces | Functions
/tmp/slackdce/slackrepo.5NA6jZ/build_liborigin/liborigin/tree.hh File Reference
`#include <cassert>`
`#include <memory>`
`#include <stdexcept>`
`#include <iterator>`
`#include <set>`
`#include <queue>`
`#include <iostream>`

Go to the source code of this file.

## Classes
class | tree< T, tree_node_allocator >::breadth_first_queued_iterator
| Breadth-first iterator, using a queue. More...
class | tree< T, tree_node_allocator >::compare_nodes< StrictWeakOrdering >
| Comparator class for two nodes of a tree (used for sorting and searching). 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 >::iterator_base
| Base class for iterators, only pointers stored, no traversal logic. More...
class | tree< T, tree_node_allocator >::iterator_base_less
| Comparator class for iterators (compares pointer values; why doesn't this work automatically?) More...
class | tree< T, tree_node_allocator >::leaf_iterator
| Iterator which traverses only the leaves. 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 >::pre_order_iterator
| Depth-first iterator, first accessing the node, then its children. 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 >
class | tree_node_< T >
| A node in the tree, combining links to other nodes as well as the actual data. More...

## Namespaces
namespace | kp

## Functions
template<class T1 >
void | kp::constructor (T1 *p)
template<class T1 , class T2 >
void | kp::constructor (T1 *p, T2 &val)
template<class T1 >
void | kp::destructor (T1 *p)