A node in a binary tree, containing a value of type T and possibly leaves. More...
#include <binary_tree.h>
Public Types | |
typedef T | Value |
The type of the contained value. More... | |
Public Member Functions | |
MemoryUsage::MemorySize | allocSize () const |
Returns the size in bytes allocated by this node and its children. More... | |
template<typename... Args> | |
void | build_a (Args... args) |
Build a left leaf from supplied arguments. More... | |
template<typename... Args> | |
void | build_b (Args... args) |
Build a right leaf from supplied arguments. More... | |
void | clear_a () |
Deletes left subtree if it exists. More... | |
void | clear_b () |
Deletes right subtree if it exists. More... | |
void | init_a (Node &&other) |
Initialises left subtree from other node by moving. More... | |
void | init_a (Node const &other) |
Initialises left subtree from other node by deep-copying. More... | |
void | init_b (Node &&other) |
Initialises right subtree from other node by moving. More... | |
void | init_b (Node const &other) |
Initialises right subtree from other node by deep-copying. More... | |
template<class Archive > | |
void | load (Archive &ar, const unsigned int in_version) |
Boost deserialisation. More... | |
Node ()=default | |
Default ctor. More... | |
Node (Node &&other) | |
Move ctor. More... | |
Node (Node const &other) | |
Copy ctor. More... | |
template<typename... Args> | |
Node (NodeType type, Args... args) | |
Standard ctor to forward arguments to contained value type. More... | |
Node & | operator= (Node &&other) |
Move assignment operator. More... | |
Node & | operator= (Node const &other) |
Copy assignment operator. More... | |
void | print (std::ostream &out, int current_level, Index &last) |
Printing helper. More... | |
template<typename Archive > | |
void | save (Archive &ar, const unsigned int) const |
Boost serialisation. More... | |
Node * | top () |
Returns ptr to top node. More... | |
Node const * | top () const |
Returns ptr to top node. More... | |
~Node () | |
Dtor. More... | |
Public Attributes | |
Node * | a = nullptr |
Ptr to left leaf, if existing. More... | |
Node * | b = nullptr |
Ptr to right leaf, if existing. More... | |
Node * | r = nullptr |
Ptr to parent node, if existing. More... | |
NodeType | t = NodeType::Invalid |
Type of this node. More... | |
Value | v = Value() |
The contained value. More... | |
A node in a binary tree, containing a value of type T and possibly leaves.
Versioned via BinaryTree::boost_version_Node.