ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
StringTree< T, TNodeMaintainer, TRecycling >::TRecursiveIterator< TConst >::RecursionData Struct Reference

Description:

template<typename T, typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
struct alib::monomem::StringTree< T, TNodeMaintainer, TRecycling >::TRecursiveIterator< TConst >::RecursionData

Protected, internal struct used to store the data of recursive iterations.

Definition at line 1684 of file stringtree.hpp.

#include <stringtree.hpp>

Collaboration diagram for StringTree< T, TNodeMaintainer, TRecycling >::TRecursiveIterator< TConst >::RecursionData:
[legend]

Public Field Index:

union { 
 
   size_t   sorted 
 
   cmNode *   unsorted 
 
actChild 
 
std::vector< cmNode * > childrenSorted
 
lang::BidiListHelper< baseNodeBase > * childrenUnsorted
 
bool(* customSorter )(const cmCursor &, const cmCursor &)
 
bool isSorting
 
bool sortingIsCaseSensitive
 
bool sortingIsDescending
 

Public Method Index:

 RecursionData () noexcept=default
 
 RecursionData (const RecursionData &)=default
 
 RecursionData (RecursionData &&) noexcept=default
 
 ~RecursionData () noexcept=default
 
RecursionDataoperator= (const RecursionData &)=default
 
RecursionDataoperator= (RecursionData &&) noexcept=default
 

Field Details:

◆ [union]

union { ... } actChild

Combines a node hook and and a current vector index used to remember the current child in unsorted, respectively sorted mode.

◆ childrenSorted

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
std::vector<cmNode*> childrenSorted

A pointer to a dynamically allocated vector of children used with sorting.

Definition at line 1716 of file stringtree.hpp.

◆ childrenUnsorted

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
lang::BidiListHelper<baseNodeBase>* childrenUnsorted

The child hook of the parent node, used with unsorted iteration. Note that this is declared const, in case template param TConst equals true.

Definition at line 1708 of file stringtree.hpp.

◆ customSorter

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
bool(* customSorter) (const cmCursor &, const cmCursor &)

Copied from alib::monomem::StringTree<T;TNodeMaintainer;TRecycling>;RecursiveIterator::nextCustomSorter "monomem::StringTree<T;TNodeMaintainer;TRecycling>;RecursiveIterator::nextCustomSorter" with every recursion step.

Definition at line 1721 of file stringtree.hpp.

◆ isSorting

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
bool isSorting

Copied from alib::monomem::StringTree<T;TNodeMaintainer;TRecycling>;RecursiveIterator::nextIsSorting "monomem::StringTree<T;TNodeMaintainer;TRecycling>;RecursiveIterator::nextIsSorting" with every recursion step.

Definition at line 1726 of file stringtree.hpp.

◆ sorted

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
size_t sorted

The current child index in case of sorted access. A value of size_t(-1) indicates that the actual node itself is selected.

Definition at line 1700 of file stringtree.hpp.

◆ sortingIsCaseSensitive

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
bool sortingIsCaseSensitive

Copied from alib::monomem::StringTree<T;TNodeMaintainer;TRecycling>;RecursiveIterator::nextSortingIsCaseSensitive "monomem::StringTree<T;TNodeMaintainer;TRecycling>;RecursiveIterator::nextSortingIsCaseSensitive" with every recursion step.

Definition at line 1736 of file stringtree.hpp.

◆ sortingIsDescending

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
bool sortingIsDescending

Copied from alib::monomem::StringTree<T;TNodeMaintainer;TRecycling>;RecursiveIterator::nextSortingIsDescending "monomem::StringTree<T;TNodeMaintainer;TRecycling>;RecursiveIterator::nextSortingIsDescending" with every recursion step.

Definition at line 1731 of file stringtree.hpp.

◆ unsorted

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
cmNode* unsorted

The current child of the current node in case of unsorted access If this is pointing to the end of the child map, then the actual node itself is selected by this RecursiveIterator.

Definition at line 1695 of file stringtree.hpp.

Constructor(s) / Destructor Details::

◆ RecursionData() [1/3]

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
RecursionData ( )
defaultnoexcept

Trivial default constructor.

◆ RecursionData() [2/3]

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
RecursionData ( const RecursionData & )
default

Trivial default copy constructor.

◆ RecursionData() [3/3]

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
RecursionData ( RecursionData && )
defaultnoexcept

Trivial default move constructor.

◆ ~RecursionData()

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
~RecursionData ( )
defaultnoexcept

Trival default destructor

Method Details:

◆ operator=() [1/2]

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
RecursionData & operator= ( const RecursionData & )
default

Trivial default copy assign operator.

Returns
A reference to this.

◆ operator=() [2/2]

template<typename T , typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
template<bool TConst>
RecursionData & operator= ( RecursionData && )
defaultnoexcept

Trivial default move assign operator.

Returns
A reference to this.

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