Base struct of StringTree providing internals.
T | See template parameters of derived public type. |
TNodeMaintainer | See template parameters of derived public type. |
TRecycling | See template parameters of derived public type. |
Definition at line 66 of file stringtreebase.inl.
Inner Type Index: | |
struct | Node |
struct | NodeBase |
struct | NodeKey |
union | RootNodeSpacer |
struct | TCursorBase |
Public Type Index: | |
using | CharacterType = typename TNodeMaintainer::CharacterType |
using | ConstCursorBase = TCursorBase<true> |
using | CursorBase = TCursorBase<false> |
using | NameStorageType = typename TNodeMaintainer::NameStringType |
using | NameType = const strings::TString<CharacterType> |
using | NodeList = lang::BidiListHelper<NodeBase> |
using | SubstringType = typename strings::TSubstring<CharacterType> |
using | TSharedRecycler = typename decltype(nodeTable)::TSharedRecycler |
using | ValueType = typename strings::TString<typename TNodeMaintainer::CharacterType> |
Public Field Index: | |
int | dbgRootDataSet = 0 |
monomem::HashTable< Node, Node, NodeKey, void, typename NodeKey::Hash, typename NodeKey::EqualTo, typename NodeKey::Access, lang::Caching::Enabled, TRecycling > | nodeTable |
RootNodeSpacer | root |
CharacterType | separator |
Public Method Index: | |
StringTreeBase (MonoAllocator *allocator, CharacterType pathSeparator) | |
StringTreeBase (MonoAllocator *allocator, TSharedRecycler &pRecycler, CharacterType pathSeparator) | |
bool | checkChildName (const NameType &name) const |
using CharacterType = typename TNodeMaintainer::CharacterType |
The character type of node names and paths strings. This is defined using character type definition CharacterType of template type TNodeMaintainer .
Definition at line 83 of file stringtreebase.inl.
using ConstCursorBase = TCursorBase<true> |
The constant version of type StringTreeBase::TCursorBase .
Definition at line 757 of file stringtreebase.inl.
using CursorBase = TCursorBase<false> |
The mutable version of type StringTreeBase::TCursorBase .
Definition at line 754 of file stringtreebase.inl.
using NameStorageType = typename TNodeMaintainer::NameStringType |
The string type of node names and paths. This is defined by NameStringType of template type TNodeMaintainer .
Definition at line 90 of file stringtreebase.inl.
using NameType = const strings::TString<CharacterType> |
The string type of node names and paths if provided externally for comparison.
Definition at line 86 of file stringtreebase.inl.
using NodeList = lang::BidiListHelper<NodeBase> |
Alias shortcut for a bidirectional list of Node elements.
Definition at line 75 of file stringtreebase.inl.
using SubstringType = typename strings::TSubstring<CharacterType> |
The sub-string type of paths. This is defined using character type definition CharacterType of template type TNodeMaintainer .
Definition at line 94 of file stringtreebase.inl.
using TSharedRecycler = typename decltype(nodeTable)::TSharedRecycler |
The recycler type. See StringTree::TSharedRecycler which exposes this type publicly.
Definition at line 549 of file stringtreebase.inl.
using ValueType = typename strings::TString<typename TNodeMaintainer::CharacterType> |
The string type of node names and paths.
Definition at line 78 of file stringtreebase.inl.
int dbgRootDataSet = 0 |
Flag available only in debug-compilations to detect access to root node's value without prior use of method ConstructRootValue . Also, the destructor issues a warning, in case the root node's value was not deleted with DeleteRootValue .
Definition at line 523 of file stringtreebase.inl.
monomem::HashTable<Node, Node, NodeKey, void, typename NodeKey::Hash, typename NodeKey::EqualTo, typename NodeKey::Access, lang::Caching::Enabled, TRecycling > nodeTable |
The child node hash set. This is used to find children of nodes by name. The set contains all children of all nodes.
Definition at line 545 of file stringtreebase.inl.
RootNodeSpacer root |
The root node.
Definition at line 516 of file stringtreebase.inl.
CharacterType separator |
The separator character to use with path strings. This is set once with construction.
Definition at line 531 of file stringtreebase.inl.
|
inline |
Constructor.
allocator | The monotonic allocator to use. |
pathSeparator | The separation character used with path strings. |
Definition at line 767 of file stringtreebase.inl.
|
inline |
Constructor taking a shared recycler.
allocator | The monotonic allocator to use. |
pRecycler | The shared recycler. |
pathSeparator | The separation character used with path strings. |
Definition at line 778 of file stringtreebase.inl.
|
inline |
Simple helper method which checks a node name for not being "."
or ".."
and for not containing a separator character. In debug-compilations, if it does, an ALib warning is raised.
name | The child name to check. |
true
if the name is legal, false otherwise. Definition at line 792 of file stringtreebase.inl.