SyTen
binary_tree.h File Reference

A binary tree. More...

#include <ostream>
#include <iomanip>
#include <boost/serialization/split_member.hpp>
#include <boost/serialization/traits.hpp>
#include <boost/serialization/level.hpp>
#include "inc/util/scalars.h"
#include "inc/util/boost_versioning.h"
#include "inc/util/memory_size.h"
+ Include dependency graph for binary_tree.h:
+ This graph shows which files directly or indirectly include this file:

Classes

class  syten::BinaryTree::Node< T >
 A node in a binary tree, containing a value of type T and possibly leaves. More...
 
class  syten::BinaryTree::Tree< T >
 The binary tree structure, versioned via boost_version_Tree. More...
 

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::BinaryTree
 Binary tree implementation.
 

Enumerations

enum class  syten::BinaryTree::IterFirst : char { Left , Right }
 In visitors, whether to pick the left or right branch first. More...
 
enum class  syten::BinaryTree::NodeType : unsigned int { A = 1 , B = 2 , R = 0 , Invalid = 6 }
 Type of a node: left, right or root. More...
 

Functions

template<typename T >
std::ostreamsyten::BinaryTree::operator<< (std::ostream &out, Node< T > const &node)
 Output for nodes. More...
 
std::ostreamsyten::BinaryTree::operator<< (std::ostream &out, NodeType const &nt)
 Output for a node type. More...
 
template<typename T >
std::ostreamsyten::BinaryTree::operator<< (std::ostream &out, Tree< T > const &tree)
 Output for trees. More...
 
std::istreamsyten::BinaryTree::operator>> (std::istream &in, NodeType &nt)
 Input for a node type. More...
 

Variables

constexpr unsigned int syten::BinaryTree::boost_version_Node = 1
 Bump this if the data in the BinaryTree::Node Type changes. More...
 
constexpr unsigned int syten::BinaryTree::boost_version_Tree = 1
 Bump this if the data in the BinaryTree::Tree Type changes. More...
 

Detailed Description

A binary tree.