Base class for Cursor
| TConst | If true, internal fields representing the StringTree and the current Node become const and the method followPathCreate becomes unavailable. |
Definition at line 459 of file stringtreebase.inl.
Public Type Index: | |
| using | cmNode = std::conditional_t<!TConst, Node, const Node> |
| Constant or mutable version of type Node, depending on template parameter TConst. | |
| using | cmNodeBase = std::conditional_t<!TConst, NodeBase, const NodeBase> |
| using | cmTree = std::conditional_t<!TConst, StringTreeBase, const StringTreeBase> |
Public Field Index: | |
| cmNode * | node |
| The currently represented node of the tree. | |
| cmTree * | tree |
| The StringTree this object refers to. | |
Public Method Index: | |
| TCursorBase () noexcept | |
| Default constructor. Creates an invalid (uninitialized) object. | |
| TCursorBase (cmNode *pNode, cmTree *pTree) noexcept | |
| TCursorBase (const TCursorBase &) noexcept=default | |
| Trivial default copy constructor. | |
| TCursorBase (TCursorBase &&) noexcept=default | |
| Trivial default move constructor. | |
| ~TCursorBase () noexcept=default | |
| Trivial default destructor. | |
| cmNode * | followPath (SubstringType &path) const |
| template<typename... TArgs, bool TRequires = !TConst> | |
| std::pair< cmNodeBase *, int > | followPathCreate (const NameType &path, TArgs &&... args) |
| TCursorBase & | operator= (const TCursorBase &) noexcept=default |
| TCursorBase & | operator= (TCursorBase &&) noexcept=default |
| using alib::containers::detail::StringTreeBase< TAllocator, T, TNodeHandler, TRecycling >::TCursorBase< TConst >::cmNode = std::conditional_t<!TConst, Node, const Node> |
Constant or mutable version of type Node, depending on template parameter TConst.
Definition at line 470 of file stringtreebase.inl.
| using alib::containers::detail::StringTreeBase< TAllocator, T, TNodeHandler, TRecycling >::TCursorBase< TConst >::cmNodeBase = std::conditional_t<!TConst, NodeBase, const NodeBase> |
Constant or mutable version of type NodeBase, depending on template parameter TConst
Definition at line 467 of file stringtreebase.inl.
| using alib::containers::detail::StringTreeBase< TAllocator, T, TNodeHandler, TRecycling >::TCursorBase< TConst >::cmTree = std::conditional_t<!TConst, StringTreeBase, const StringTreeBase> |
Constant or mutable version of the base tree type, depending on template parameter TConst
Definition at line 463 of file stringtreebase.inl.
| cmNode* alib::containers::detail::StringTreeBase< TAllocator, T, TNodeHandler, TRecycling >::TCursorBase< TConst >::node |
The currently represented node of the tree.
Definition at line 473 of file stringtreebase.inl.
| cmTree* alib::containers::detail::StringTreeBase< TAllocator, T, TNodeHandler, TRecycling >::TCursorBase< TConst >::tree |
The StringTree this object refers to.
Definition at line 476 of file stringtreebase.inl.
|
inlinenoexcept |
Constructor initializing both fields tree and node.
| pNode | The node to refer to. |
| pTree | The StringTree we work on. |
Definition at line 481 of file stringtreebase.inl.
|
inlinenoexcept |
Default constructor. Creates an invalid (uninitialized) object.
Definition at line 486 of file stringtreebase.inl.
|
inline |
Finds a child node along the path given, but does not create new nodes. Incomplete results may occur if a child along the path was not found. In this case, parameter path contains the remaining path, excluding a leading separator.
A leading slash (aka TSeparator) allows absolute path addressing, which means the root of node is searched if a leading separator is found.
Besides normal child names, this method accepts
| [in,out] | path | Creation path. Provided as reference and consumed as far as the path exits. |
Definition at line 524 of file stringtreebase.inl.
|
inline |
Follows the given path and creates non-existing children along the way.
Child names "." and ".." are allowed and respected same as in followPath.
New child nodes are constructed by forwarding the given args. Existing children remain untouched.
false. | TRequires | Defaulted template parameter. Must not be specified. |
| TArgs | Types of variadic parameters given with parameter args. |
| path | The path to move along. |
| args | Variadic parameters to be forwarded to the constructor of each node that is created. |
std::pair containing a resulting Node* and the number of nodes created. Definition at line 585 of file stringtreebase.inl.
|
defaultnoexcept |
Trivial default copy assign operator.
this.
|
defaultnoexcept |
Trivial default move assign operator.
this.