HierarchyIterator< NODE, HIERARCHY, CONTEXT, ARRAY > Class Template Reference

#include <hierarchyiterator.h>

Public Types

using StackType = typename ARRAY::template Type< NODE >
 

Public Member Functions

Result< void > Init (typename ByValueParam< NODE >::type start, Bool includeSelf, CONTEXT *context)
 
Result< void > MoveToNext ()
 
 operator Bool () const
 
const NODE & operator* () const
 
NODE * operator-> () const
 
void SkipBranches ()
 
StackTypeGetStack ()
 

Private Attributes

StackType _stack
 
Bool _skip
 
CONTEXT * _context
 

Member Typedef Documentation

◆ StackType

using StackType = typename ARRAY::template Type<NODE>

Member Function Documentation

◆ Init()

Result<void> Init ( typename ByValueParam< NODE >::type  start,
Bool  includeSelf,
CONTEXT *  context 
)

◆ MoveToNext()

Result<void> MoveToNext ( )

◆ operator Bool()

operator Bool ( ) const
explicit

◆ operator*()

const NODE& operator* ( ) const

◆ operator->()

NODE* operator-> ( void  ) const

◆ SkipBranches()

void SkipBranches ( )

◆ GetStack()

StackType& GetStack ( )

Member Data Documentation

◆ _stack

StackType _stack
private

◆ _skip

Bool _skip
private

◆ _context

CONTEXT* _context
private