ALib C++ Library
Library Version: 2312 R0
Documentation generated by doxygen
Public Types | Public Static Methods | List of all members
StringTreeNamesStatic< TChar > Struct Template Reference

#include <stringtree.hpp>

Class Description

template<typename TChar = character>
struct aworx::lib::monomem::StringTreeNamesStatic< TChar >

Built-in implementation usable as template parameter TNodeMaintainer of class StringTree.

This type does not allocate memory and does not copy the key string of a node. Therefore, this type is very efficient to use in situations where exclusively "static" strings for child names and paths are passed to the interface methods of class StringTree (and inner types) which lead to the creation of new child nodes.
The term "static" here means that the strings given are either static character data of a compilation unit or by any other means their allocated memory and the contained data survive the life-cycle of the corresponding StringTree.

See also
For more information see documentation of the built-in "default" version of this template parameter type, StringTreeNamesDynamic.
Template Parameters
TCharThe character type of the key strings. This type is used with any interface method of StringTree that accepts a node name or path string.

Definition at line 170 of file stringtree.hpp.

Public Types

using CharacterType = TChar
 
using NameStringType = strings::TString< TChar >
 

Public Static Methods

template<typename TTree >
static void FreeNode (TTree &tree, typename TTree::Node &node)
 
template<typename TTree >
static void InitializeNode (TTree &tree, typename TTree::Node &node)
 

Member Typedef Documentation

◆ CharacterType

using CharacterType = TChar

The character type that the StringTree uses for child name and path strings.

Definition at line 173 of file stringtree.hpp.

◆ NameStringType

The string type of a node's name.

Definition at line 176 of file stringtree.hpp.

Member Function Documentation

◆ FreeNode()

static void FreeNode ( TTree &  tree,
typename TTree::Node &  node 
)
inlinestatic

This implementation is empty.

See also
See description of this class and the "default implementation" StringTreeNamesDynamic.
Template Parameters
TTreeThe type of the templated instantiation of struct detail::StringTreeBase that this method is invoked by.
Parameters
treeThe instance of struct detail::StringTreeBase that invokes this method. Any member may be accessed, including nodeTable which contains the MonoAllocator that the tree uses for the allocation of nodes.
nodeThe node that is to be removed. Allows access to the key and custom value data. While the parent and sibling nodes are likewise accessible, it is strictly forbidden to modify those.

Definition at line 222 of file stringtree.hpp.

◆ InitializeNode()

static void InitializeNode ( TTree &  tree,
typename TTree::Node &  node 
)
inlinestatic

This implementation is empty.

See also
See description of this class and the "default implementation" StringTreeNamesDynamic.
Template Parameters
TTreeThe type of the templated instantiation of struct detail::StringTreeBase that this method is invoked by.
Parameters
treeThe instance of struct detail::StringTreeBase that invokes this method. Any member may be accessed, including nodeTable which contains the MonoAllocator that the tree uses for the allocation of nodes.
nodeThe node that was just created. Allows access to the key and custom value data. While the parent and sibling nodes are likewise accessible, it is strictly forbidden to modify those.

Definition at line 197 of file stringtree.hpp.


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