Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::Tree_Node< T > Class Template Reference

Generic m-ary trees. More...

#include <tpl_tree_node.H>

Inheritance diagram for Aleph::Tree_Node< T >:
[legend]
Collaboration diagram for Aleph::Tree_Node< T >:
[legend]

Classes

class  Children_Iterator
 Iterator over the children of this. More...
 
struct  Children_Set
 
struct  Flags
 
class  Iterator
 

Public Types

using Item_Type = Tree_Node *
 
using key_type = T
 Generic data type stored in the node.
 
using iterator = __iterator< Tree_Node >
 
using const_iterator = __const_iterator< Tree_Node >
 

Public Member Functions

Tget_key () noexcept
 Returns a modifiable reference to the node contents.
 
constexpr const Tget_key () const noexcept
 
Tget_data () noexcept
 Returns a modifiable reference to the node contents.
 
constexpr const Tget_data () const noexcept
 
Dlinkget_child_list () noexcept
 
Dlinkget_sibling_list () noexcept
 
constexpr bool is_root () const noexcept
 Returns true if this is the root of the general tree.
 
constexpr bool is_leaf () const noexcept
 Returns true if this is a leaf node.
 
constexpr bool is_leftmost () const noexcept
 Returns true if this is the leftmost node among its siblings.
 
constexpr bool is_rightmost () const noexcept
 Returns true if this is the rightmost node among its siblings.
 
void set_is_root (bool value) noexcept
 
void set_is_leaf (bool value) noexcept
 
void set_is_leftmost (bool value) noexcept
 
void set_is_rightmost (bool value) noexcept
 
 Tree_Node ()=default
 Empty constructor (undefined key).
 
 Tree_Node (const T &d)
 Constructor with data value __data.
 
 Tree_Node (T &&d)
 
Tree_Nodeget_left_sibling () const noexcept
 Returns the left sibling of this.
 
Tree_Nodeget_right_sibling () const noexcept
 Returns the right sibling of this.
 
Tree_Nodeget_left_child () const noexcept
 Returns the leftmost child of this.
 
Tree_Nodeget_right_child () const noexcept
 Returns the rightmost child of this.
 
Tree_Nodeget_child (const size_t i) const noexcept
 Returns the i-th child of this.
 
Tree_Nodeget_parent () const noexcept
 Returns the parent of this.
 
void insert_right_sibling (Tree_Node *p) noexcept
 Inserts p as the right sibling of this.
 
void insert_left_sibling (Tree_Node *p)
 Inserts p as the left sibling of this.
 
void insert_leftmost_child (Tree_Node *p) noexcept
 Inserts p as the leftmost child of this.
 
void insert_rightmost_child (Tree_Node *p) noexcept
 Inserts p as the rightmost child of this.
 
Tree_Nodejoin (Tree_Node *tree)
 join tree as subtree of root this
 
void insert_tree_to_right (Tree_Node *tree)
 Insert tree to the right of this
 
Tree_Nodeget_left_tree () const noexcept
 Returns the tree to the left of this.
 
Tree_Nodeget_right_tree () const noexcept
 Returns the tree to the right of this.
 
Tree_Nodeget_last_tree () const
 Returns the rightmost tree of the forest containing this.
 
template<template< typename > class Container = DynList>
Container< Tree_Node * > trees () const
 Return a list with all trees belonging to the forrest.
 
template<typename Operation >
void for_each_child (Operation &op) const
 Visits each child of this and executes the operation on the child node.
 
template<typename Operation >
void for_each_child (Operation &&op=Operation()) const
 
template<template< typename > class Container = DynList>
Container< Tree_Node * > children_nodes () const
 Returns a list with the child nodes of this.
 
template<template< typename > class Container = DynList>
Container< Tchildren () const
 Returns a list with the contents of the children of this.
 
template<class Operation >
bool traverse (Operation op)
 Preorder traversal over all nodes executing op.
 
template<class Operation >
bool traverse (Operation op) const
 
template<class Op >
bool level_traverse (Op op)
 
template<class Op >
bool level_traverse (Op op) const
 
Children_Iterator children_it () const
 
Iterator get_it () const
 
iterator begin () noexcept
 
iterator end () noexcept
 
const_iterator begin () const noexcept
 
const_iterator end () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
const_iterator cbegin () noexcept
 
const_iterator cend () noexcept
 
- Public Member Functions inherited from Aleph::FunctionalMixin< Tree_Node< T >, Tree_Node< T > * >
auto for_each (Operation &operation) const -> decltype(self())
 Apply an operation to each element (read-only).
 
auto for_each (Operation &operation) -> decltype(self())
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
auto for_each (Operation &&operation=Operation()) const -> decltype(self())
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
auto for_each (Operation &&operation=Operation()) -> decltype(self())
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
auto mutable_for_each (Operation &operation) -> decltype(self())
 Apply an operation to each element (mutable).
 
auto mutable_for_each (Operation &&operation=Operation()) -> decltype(self())
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
bool all (Operation &operation) const
 Test if all elements satisfy a predicate.
 
bool all (Operation &&operation=Operation()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
bool forall (Operation &operation) const
 Alias for all().
 
bool forall (Operation &&operation=Operation()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
bool exists (Operation &operation) const
 Test if any element satisfies a predicate.
 
bool exists (Operation &&operation=Operation()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
Container< __Type > maps (Operation &operation) const
 Transform elements using a mapping function.
 
Container< __Type > maps (Operation &&operation=Operation()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
__Type foldl (const __Type &init, std::function< __Type(const __Type &, const Tree_Node< T > * &)> operation) const
 Left fold (reduce) with initial value.
 
__Type fold_left (std::function< __Type(const __Type &, const Tree_Node< T > * &)> operation, const __Type &init) const
 Left fold with operation first (alternative signature).
 
Tree_Node< T > * fold (const Tree_Node< T > * &init, Operation &operation) const
 Simple fold with same type for accumulator and elements.
 
Tree_Node< T > * fold (const Tree_Node< T > * &init, Operation &&operation=Operation()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
DynList< Tree_Node< T > * > filter (Operation &operation) const
 Filter elements by a predicate.
 
DynList< Tree_Node< T > * > filter (Operation &&operation=Operation()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
DynList< std::tuple< Tree_Node< T > *, size_t > > pfilter (Operation &operation) const
 Filter with position information.
 
DynList< std::tuple< Tree_Node< T > *, size_t > > pfilter (Operation &&operation=Operation()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
std::pair< DynList< Tree_Node< T > * >, DynList< Tree_Node< T > * > > partition (Operation &op) const
 Partition elements by a predicate.
 
std::pair< DynList< Tree_Node< T > * >, DynList< Tree_Node< T > * > > partition (Operation &&op=Operation()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
std::tuple< DynList< Tree_Node< T > * >, DynList< Tree_Node< T > * > > tpartition (Operation &op) const
 Partition returning tuple instead of pair.
 
std::tuple< DynList< Tree_Node< T > * >, DynList< Tree_Node< T > * > > tpartition (Operation &&op=Operation()) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
size_t length () const noexcept
 Count the number of elements.
 
Container< Tree_Node< T > * > rev () const
 Create a reversed copy.
 
Container< Tree_Node< T > * > take (const size_t n) const
 Take the first n elements.
 
Container< Tree_Node< T > * > drop (const size_t n) const
 Skip the first n elements.
 
Tree_Node< T > * sum (const Tree_Node< T > * &init=Tree_Node< T > *{}) const
 Compute the sum of all elements.
 
Tree_Node< T > * product (const Tree_Node< T > * &init) const
 Compute the product of all elements.
 
const Tree_Node< T > * * min () const
 Find the minimum element.
 
const Tree_Node< T > * * max () const
 Find the maximum element.
 
const Tree_Node< T > * * min_by (Compare cmp) const
 Find the minimum element using a custom comparator.
 
const Tree_Node< T > * * max_by (Compare cmp) const
 Find the maximum element using a custom comparator.
 
bool has_value (const Tree_Node< T > * &val) const
 Check if container has a value.
 
bool none (Predicate &pred) const
 Check if no element satisfies a predicate.
 
bool none (Predicate &&pred) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
size_t count_if (Predicate pred) const
 Count elements satisfying a predicate.
 
const Tree_Node< T > * * first () const
 Get the first element.
 
Tree_Node< T > * first_or (const Tree_Node< T > * &default_val) const
 Get the first element or a default value.
 
const Tree_Node< T > * * last () const
 Get the last element.
 
Tree_Node< T > * last_or (const Tree_Node< T > * &default_val) const
 Get the last element or a default value.
 
Container< std::pair< size_t, Tree_Node< T > * > > enumerate () const
 Enumerate elements with their indices.
 
size_t find_index (Predicate pred) const
 Find the index of the first element satisfying a predicate.
 
size_t index_of (const Tree_Node< T > * &val) const
 Find the index of a specific value.
 
Container< Tree_Node< T > * > unique () const
 Remove consecutive duplicate elements.
 
Container< Tree_Node< T > * > unique_by (EqPred eq) const
 Remove consecutive duplicates using a custom equality predicate.
 
Container< Tree_Node< T > * > intersperse (const Tree_Node< T > * &sep) const
 Intersperse a separator between elements.
 
Container< Container< Tree_Node< T > * > > chunk (size_t n) const
 Split into chunks of fixed size.
 
Container< Container< Tree_Node< T > * > > sliding (size_t size, size_t step=1) const
 Create sliding windows of fixed size.
 
std::vector< Tree_Node< T > * > to_vector () const
 Convert to std::vector.
 
DynListType to_dynlist () const
 Convert container to DynList.
 
StringType join (const StringType &sep=StringType{", "}) const
 Join elements into a string with separator.
 
std::string join_str (const std::string &sep=", ") const
 Join string elements with separator.
 
Container< std::pair< Tree_Node< T > *, typename Other::Item_Type > > zip_with (const Other &other) const
 Zip with another container.
 

Private Member Functions

Tree_Nodeupper_link () const noexcept
 
Tree_Nodelower_link () const noexcept
 
Tree_Nodeleft_link () const noexcept
 
Tree_Noderight_link () const noexcept
 

Static Private Member Functions

static Tree_Nodechild_to_Tree_Node (Dlink *link) noexcept
 
static Tree_Nodesibling_to_Tree_Node (Dlink *link) noexcept
 
template<class Operation >
static bool preorder (const Tree_Node *root, Operation &op)
 

Private Attributes

T data
 
Dlink child
 
Dlink sibling
 
Flags flags
 

Friends

const_iterator cbegin (const Tree_Node &s) noexcept
 
const_iterator cend (const Tree_Node &s) noexcept
 
const_iterator begin (const Tree_Node &s) noexcept
 
const_iterator end (const Tree_Node &s) noexcept
 
iterator begin (Tree_Node &s) noexcept
 
iterator end (Tree_Node &s) noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from Aleph::FunctionalMixin< Tree_Node< T >, Tree_Node< T > * >
const Tree_Node< T > & self () const noexcept
 
Tree_Node< T > & self () noexcept
 

Detailed Description

template<class T>
class Aleph::Tree_Node< T >

Generic m-ary trees.

The Tree_Node<Key> class defines general trees of any order, represented by linked lists.

Parameters
Keythe data type stored in each tree node.

Definition at line 88 of file tpl_tree_node.H.

Member Typedef Documentation

◆ const_iterator

template<class T >
using Aleph::Tree_Node< T >::const_iterator = __const_iterator< Tree_Node >

Definition at line 767 of file tpl_tree_node.H.

◆ Item_Type

Definition at line 131 of file tpl_tree_node.H.

◆ iterator

template<class T >
using Aleph::Tree_Node< T >::iterator = __iterator< Tree_Node >

Definition at line 767 of file tpl_tree_node.H.

◆ key_type

template<class T >
using Aleph::Tree_Node< T >::key_type = T

Generic data type stored in the node.

Definition at line 144 of file tpl_tree_node.H.

Constructor & Destructor Documentation

◆ Tree_Node() [1/3]

template<class T >
Aleph::Tree_Node< T >::Tree_Node ( )
default

Empty constructor (undefined key).

◆ Tree_Node() [2/3]

template<class T >
Aleph::Tree_Node< T >::Tree_Node ( const T d)
inline

Constructor with data value __data.

Definition at line 174 of file tpl_tree_node.H.

◆ Tree_Node() [3/3]

template<class T >
Aleph::Tree_Node< T >::Tree_Node ( T &&  d)
inline

Definition at line 177 of file tpl_tree_node.H.

Member Function Documentation

◆ begin() [1/2]

template<class T >
const_iterator Aleph::Tree_Node< T >::begin ( ) const
inlinenoexcept

Definition at line 767 of file tpl_tree_node.H.

◆ begin() [2/2]

template<class T >
iterator Aleph::Tree_Node< T >::begin ( )
inlinenoexcept

Definition at line 767 of file tpl_tree_node.H.

◆ cbegin() [1/2]

template<class T >
const_iterator Aleph::Tree_Node< T >::cbegin ( ) const
inlinenoexcept

Definition at line 767 of file tpl_tree_node.H.

◆ cbegin() [2/2]

template<class T >
const_iterator Aleph::Tree_Node< T >::cbegin ( )
inlinenoexcept

Definition at line 767 of file tpl_tree_node.H.

◆ cend() [1/2]

template<class T >
const_iterator Aleph::Tree_Node< T >::cend ( ) const
inlinenoexcept

Definition at line 767 of file tpl_tree_node.H.

◆ cend() [2/2]

template<class T >
const_iterator Aleph::Tree_Node< T >::cend ( )
inlinenoexcept

Definition at line 767 of file tpl_tree_node.H.

◆ child_to_Tree_Node()

template<class T >
static Tree_Node * Aleph::Tree_Node< T >::child_to_Tree_Node ( Dlink link)
inlinestaticprivatenoexcept

◆ children()

template<class T >
template<template< typename > class Container = DynList>
Container< T > Aleph::Tree_Node< T >::children ( ) const
inline

Returns a list with the contents of the children of this.

Definition at line 539 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::for_each_child(), Aleph::Tree_Node< T >::get_key(), and Aleph::FunctionalMixin< Tree_Node< T >, Tree_Node< T > * >::maps().

Referenced by TEST(), and TEST().

◆ children_it()

template<class T >
Children_Iterator Aleph::Tree_Node< T >::children_it ( ) const
inline

Definition at line 646 of file tpl_tree_node.H.

◆ children_nodes()

template<class T >
template<template< typename > class Container = DynList>
Container< Tree_Node * > Aleph::Tree_Node< T >::children_nodes ( ) const
inline

Returns a list with the child nodes of this.

Definition at line 530 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::for_each_child(), and Aleph::FunctionalMixin< Tree_Node< T >, Tree_Node< T > * >::maps().

Referenced by TEST().

◆ end() [1/2]

template<class T >
const_iterator Aleph::Tree_Node< T >::end ( ) const
inlinenoexcept

Definition at line 767 of file tpl_tree_node.H.

◆ end() [2/2]

template<class T >
iterator Aleph::Tree_Node< T >::end ( )
inlinenoexcept

Definition at line 767 of file tpl_tree_node.H.

◆ for_each_child() [1/2]

template<class T >
template<typename Operation >
void Aleph::Tree_Node< T >::for_each_child ( Operation &&  op = Operation()) const
inline

◆ for_each_child() [2/2]

template<class T >
template<typename Operation >
void Aleph::Tree_Node< T >::for_each_child ( Operation op) const
inline

Visits each child of this and executes the operation on the child node.

Definition at line 515 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::child, and Aleph::Tree_Node< T >::get_left_child().

Referenced by Aleph::Tree_Node< T >::children(), Aleph::Tree_Node< T >::children_nodes(), Aleph::Cnode::clone(), and Aleph::Tree_Node< T >::level_traverse().

◆ get_child()

template<class T >
Tree_Node * Aleph::Tree_Node< T >::get_child ( const size_t  i) const
inlinenoexcept

Returns the i-th child of this.

Returns the i-th child of this.

Parameters
[in]iordinal of the child to access.
Returns
pointer to the i-th child of this; nullptr if it does not exist.

Definition at line 227 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::get_left_child(), Aleph::Tree_Node< T >::get_right_sibling(), and Aleph::FunctionalMixin< Tree_Node< T >, Tree_Node< T > * >::maps().

Referenced by TEST(), and TEST().

◆ get_child_list()

template<class T >
Dlink * Aleph::Tree_Node< T >::get_child_list ( )
inlinenoexcept

Definition at line 146 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::child.

Referenced by TEST().

◆ get_data() [1/2]

template<class T >
constexpr const T & Aleph::Tree_Node< T >::get_data ( ) const
inlineconstexprnoexcept

Definition at line 141 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::data.

◆ get_data() [2/2]

template<class T >
T & Aleph::Tree_Node< T >::get_data ( )
inlinenoexcept

Returns a modifiable reference to the node contents.

Definition at line 139 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::data.

Referenced by Aleph::Tree_Node< T >::get_key(), and Aleph::Tree_Node< T >::get_key().

◆ get_it()

template<class T >
Iterator Aleph::Tree_Node< T >::get_it ( ) const
inline

Definition at line 762 of file tpl_tree_node.H.

Referenced by TEST(), and TEST().

◆ get_key() [1/2]

template<class T >
constexpr const T & Aleph::Tree_Node< T >::get_key ( ) const
inlineconstexprnoexcept

Definition at line 136 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::get_data().

◆ get_key() [2/2]

template<class T >
T & Aleph::Tree_Node< T >::get_key ( )
inlinenoexcept

◆ get_last_tree()

template<class T >
Tree_Node * Aleph::Tree_Node< T >::get_last_tree ( ) const
inline

Returns the rightmost tree of the forest containing this.

Throws range_error if this is not the leftmost tree of the forest.

Definition at line 494 of file tpl_tree_node.H.

References ah_range_error_if, Aleph::Tree_Node< T >::is_leftmost(), Aleph::Tree_Node< T >::left_link(), and Aleph::FunctionalMixin< Tree_Node< T >, Tree_Node< T > * >::maps().

◆ get_left_child()

◆ get_left_sibling()

template<class T >
Tree_Node * Aleph::Tree_Node< T >::get_left_sibling ( ) const
inlinenoexcept

Returns the left sibling of this.

Definition at line 181 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::is_leftmost(), and Aleph::Tree_Node< T >::left_link().

Referenced by Aleph::Tree_Node< T >::insert_left_sibling(), and TEST().

◆ get_left_tree()

template<class T >
Tree_Node * Aleph::Tree_Node< T >::get_left_tree ( ) const
inlinenoexcept

◆ get_parent()

◆ get_right_child()

template<class T >
Tree_Node * Aleph::Tree_Node< T >::get_right_child ( ) const
inlinenoexcept

◆ get_right_sibling()

◆ get_right_tree()

◆ get_sibling_list()

template<class T >
Dlink * Aleph::Tree_Node< T >::get_sibling_list ( )
inlinenoexcept

Definition at line 148 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::sibling.

Referenced by TEST().

◆ insert_left_sibling()

◆ insert_leftmost_child()

◆ insert_right_sibling()

template<class T >
void Aleph::Tree_Node< T >::insert_right_sibling ( Tree_Node< T > *  p)
inlinenoexcept

Inserts p as the right sibling of this.

Inserts p as the right sibling of this.

Parameters
[in]pnode to insert as right sibling.

Definition at line 258 of file tpl_tree_node.H.

References CHILD_LIST, Aleph::Tree_Node< T >::get_right_sibling(), Aleph::Dlink::insert(), Aleph::Tree_Node< T >::is_rightmost(), Aleph::FunctionalMixin< Tree_Node< T >, Tree_Node< T > * >::maps(), Aleph::Tree_Node< T >::set_is_rightmost(), and SIBLING_LIST.

Referenced by TEST().

◆ insert_rightmost_child()

◆ insert_tree_to_right()

template<class T >
void Aleph::Tree_Node< T >::insert_tree_to_right ( Tree_Node< T > *  tree)
inline

Insert tree to the right of this

Assuming that this is part of a forrest, this method insert tree to the right of this.

Be careful with the fact that tree will not always be inserted as the rightmost tree, but as the tree to right of this.

Parameters
[in]treethe tree to insert
Exceptions
domain_errorif tree is not root

Definition at line 453 of file tpl_tree_node.H.

References ah_domain_error_if, Aleph::Tree_Node< T >::get_right_tree(), Aleph::Tree_Node< T >::is_rightmost(), Aleph::Tree_Node< T >::is_root(), Aleph::FunctionalMixin< Tree_Node< T >, Tree_Node< T > * >::maps(), Aleph::Tree_Node< T >::set_is_leftmost(), Aleph::Tree_Node< T >::set_is_rightmost(), and SIBLING_LIST.

◆ is_leaf()

◆ is_leftmost()

◆ is_rightmost()

◆ is_root()

template<class T >
constexpr bool Aleph::Tree_Node< T >::is_root ( ) const
inlineconstexprnoexcept

◆ join()

◆ left_link()

◆ level_traverse() [1/2]

◆ level_traverse() [2/2]

template<class T >
template<class Op >
bool Aleph::Tree_Node< T >::level_traverse ( Op  op) const
inline

Definition at line 597 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::level_traverse().

◆ lower_link()

◆ preorder()

◆ right_link()

◆ set_is_leaf()

◆ set_is_leftmost()

◆ set_is_rightmost()

◆ set_is_root()

template<class T >
void Aleph::Tree_Node< T >::set_is_root ( bool  value)
inlinenoexcept

◆ sibling_to_Tree_Node()

template<class T >
static Tree_Node * Aleph::Tree_Node< T >::sibling_to_Tree_Node ( Dlink link)
inlinestaticprivatenoexcept

◆ traverse() [1/2]

template<class T >
template<class Operation >
bool Aleph::Tree_Node< T >::traverse ( Operation  op)
inline

Preorder traversal over all nodes executing op.

Definition at line 572 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::preorder().

Referenced by TEST(), TEST(), and Aleph::Tree_Node< T >::traverse().

◆ traverse() [2/2]

template<class T >
template<class Operation >
bool Aleph::Tree_Node< T >::traverse ( Operation  op) const
inline

Definition at line 578 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::traverse().

◆ trees()

template<class T >
template<template< typename > class Container = DynList>
Container< Tree_Node * > Aleph::Tree_Node< T >::trees ( ) const
inline

Return a list with all trees belonging to the forrest.

Definition at line 504 of file tpl_tree_node.H.

References Aleph::Tree_Node< T >::get_right_tree(), and Aleph::FunctionalMixin< Tree_Node< T >, Tree_Node< T > * >::maps().

◆ upper_link()

template<class T >
Tree_Node * Aleph::Tree_Node< T >::upper_link ( ) const
inlineprivatenoexcept

Friends And Related Symbol Documentation

◆ begin [1/2]

template<class T >
const_iterator begin ( const Tree_Node< T > &  s)
friend

Definition at line 767 of file tpl_tree_node.H.

◆ begin [2/2]

template<class T >
iterator begin ( Tree_Node< T > &  s)
friend

Definition at line 767 of file tpl_tree_node.H.

◆ cbegin

template<class T >
const_iterator cbegin ( const Tree_Node< T > &  s)
friend

Definition at line 767 of file tpl_tree_node.H.

◆ cend

template<class T >
const_iterator cend ( const Tree_Node< T > &  s)
friend

Definition at line 767 of file tpl_tree_node.H.

◆ end [1/2]

template<class T >
const_iterator end ( const Tree_Node< T > &  s)
friend

Definition at line 767 of file tpl_tree_node.H.

◆ end [2/2]

template<class T >
iterator end ( Tree_Node< T > &  s)
friend

Definition at line 767 of file tpl_tree_node.H.

Member Data Documentation

◆ child

◆ data

template<class T >
T Aleph::Tree_Node< T >::data
private

◆ flags

◆ sibling


The documentation for this class was generated from the following file: