Specialized TNodeHandler for class Configuration which recycles variables and their extended information objects.
In respect to the node name allocation, this type behaves like default handler StringTreeNamesDynamic. In debug compilations, statistics variables DBG_STATS_STRINGTREE_NAMES and DBG_STATS_STRINGTREE_NAME_OVERFLOWS are increased, just like the original does.
Definition at line 82 of file configuration.hpp.
#include <configuration.hpp>
Public Type Index: | |
using | CharacterType = character |
The character type that the StringTree uses for child name and path strings. | |
using | NameStringType = strings::TString<character> |
Public Static Method Index: | |
static ALIB_API void | FreeNode (TTree &tree, TTree::Node &node) |
static void | InitializeNode (TTree &tree, TTree::Node &node) |
using CharacterType = character |
The character type that the StringTree uses for child name and path strings.
Definition at line 85 of file configuration.hpp.
using NameStringType = strings::TString<character> |
The string-type of a node's name. This is a simple static string, allocated with the pool allocator.
Definition at line 89 of file configuration.hpp.
|
static |
This implementation frees any dynamically allocated memory of the node's name and in addition recycles any extended information object attached to the Variable object.
tree | The 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. |
node | The 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 35 of file configuration.cpp.
|
inlinestatic |
Copies the node's name to the local string.
tree | The 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. |
node | The 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 669 of file configuration.hpp.