|
Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
Base class for hierarchy of tree node types. The tree node types can be used to construct tree structures of different types of nodes. More...
#include <tree_base.hpp>
Public Member Functions | |
| BaseNode () | |
| Constructor of the tree hierarchy base class. More... | |
| virtual | ~BaseNode () noexcept=default |
| Destructor of the tree hierarchy base class. More... | |
| BaseNode (const BaseNode &) | |
| Copy construction does not copy the parent pointer. More... | |
| BaseNode (BaseNode &&) noexcept | |
| Move construction does not copy the parent pointer. More... | |
| BaseNode & | operator= (const BaseNode &) |
| Copy assignment does not change the parent pointer. More... | |
| BaseNode & | operator= (BaseNode &&) noexcept |
| Move assignment does not change the parent pointer. More... | |
| Data * | getParent () |
| Getter of the parent of the node. More... | |
| const Data * | getParent () const |
| Getter of the parent of the node. More... | |
Friends | |
| template<class D , class C > | |
| class | NullaryNode |
| template<class D , class C > | |
| class | UnaryNode |
| template<class D , class C > | |
| class | BinaryNode |
| template<class D , class C > | |
| class | TernaryNode |
| template<class D , std::size_t I, class C > | |
| class | AnyaryNode |
| template<class D , class C > | |
| class | FixedaryNode |
| template<class D , class C > | |
| class | VararyNode |
Base class for hierarchy of tree node types. The tree node types can be used to construct tree structures of different types of nodes.
| Data | the base class of the actual tree nodes hierarchy on top of this one |
|
inline |
Constructor of the tree hierarchy base class.
|
virtualdefaultnoexcept |
Destructor of the tree hierarchy base class.
|
inline |
Copy construction does not copy the parent pointer.
|
inlinenoexcept |
Move construction does not copy the parent pointer.
|
inline |
Getter of the parent of the node.
|
inline |
Getter of the parent of the node.
|
inlinenoexcept |
Move assignment does not change the parent pointer.
|
inline |
Copy assignment does not change the parent pointer.