ALib C++ Library
Library Version: 2312 R0
Documentation generated by doxygen
Public Fields | Public Methods | List of all members
StringTree< T, TNodeMaintainer, TRecycling >::RecursiveIterator::RecursionData Struct Reference

#include <stringtree.hpp>

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

Class Description

template<typename T, typename TNodeMaintainer = StringTreeNamesDynamic<character>, typename TRecycling = Recycling::Private>
struct aworx::lib::monomem::StringTree< T, TNodeMaintainer, TRecycling >::RecursiveIterator::RecursionData

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

Definition at line 1454 of file stringtree.hpp.

Public Fields

union {
   size_t   sorted
 
   baseNode *   unsorted
 
actChild
 
std::vector< baseNode * > childrenSorted
 
basetree::NodeList * childrenUnsorted
 
bool(* customSorter )(const NodePtr &, const NodePtr &)
 
bool isSorting
 
bool sortingIsCaseSensitive
 
bool sortingIsDescending
 

Public Methods

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

Constructor & Destructor Documentation

◆ RecursionData() [1/3]

RecursionData ( )
defaultnoexcept

Trivial default constructor.

◆ RecursionData() [2/3]

RecursionData ( const RecursionData )
default

Trivial default copy constructor.

◆ RecursionData() [3/3]

RecursionData ( RecursionData &&  )
defaultnoexcept

Trivial default move constructor.

◆ ~RecursionData()

~RecursionData ( )
defaultnoexcept

Trival default destructor

Member Function Documentation

◆ operator=() [1/2]

RecursionData& operator= ( const RecursionData )
default

Trivial default copy assign operator.

Returns
A reference to this.

◆ operator=() [2/2]

RecursionData& operator= ( RecursionData &&  )
defaultnoexcept

Trivial default move assign operator.

Returns
A reference to this.

Member Data Documentation

◆ actChild

union { ... } actChild

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

◆ childrenSorted

std::vector<baseNode*> childrenSorted

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

Definition at line 1478 of file stringtree.hpp.

◆ childrenUnsorted

basetree::NodeList* childrenUnsorted

The child hook of the parent node, used with unsorted iteration.

Definition at line 1475 of file stringtree.hpp.

◆ customSorter

bool(* customSorter) (const NodePtr &, const NodePtr &)

Copied from RecursiveIterator::nextCustomSorter with every recursion step.

Definition at line 1483 of file stringtree.hpp.

◆ isSorting

bool isSorting

Copied from RecursiveIterator::nextIsSorting with every recursion step.

Definition at line 1488 of file stringtree.hpp.

◆ sorted

size_t sorted

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

Definition at line 1470 of file stringtree.hpp.

◆ sortingIsCaseSensitive

bool sortingIsCaseSensitive

Copied from RecursiveIterator::nextSortingIsCaseSensitive with every recursion step.

Definition at line 1498 of file stringtree.hpp.

◆ sortingIsDescending

bool sortingIsDescending

Copied from RecursiveIterator::nextSortingIsDescending with every recursion step.

Definition at line 1493 of file stringtree.hpp.

◆ unsorted

baseNode* 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 1465 of file stringtree.hpp.


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