template<typename T, typename TNodeMaintainer, typename TRecycling>
template<bool TConst>
struct alib::monomem::detail::StringTreeBase< T, TNodeMaintainer, TRecycling >::TCursorBase< TConst >
Base class for StringTree::Cursor
- Template Parameters
-
Definition at line 560 of file stringtreebase.inl.
template<typename T , typename TNodeMaintainer , typename TRecycling >
template<bool TConst>
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
- multiple separator characters (ignored)
- child name "." (ignored)
- child name ".." for parent node
- Parameters
-
[in,out] | path | Creation path. Provided as reference and consumed as far as the path exits. |
- Returns
- The node found
Definition at line 627 of file stringtreebase.inl.
template<typename T , typename TNodeMaintainer , typename TRecycling >
template<bool TConst>
template<typename... TArgs, bool TEnableIf = !TConst>
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.
- Note
- This method is only available if template parameter TConst is false.
- Template Parameters
-
TArgs | Types of variadic parameters given with parameter args . |
- Parameters
-
path | The path to move along. |
args | Variadic parameters to be forwarded to constructor of each node that is created. |
- Returns
- A
std::pair
containing a resulting Node* and the number of nodes created.