Lumiera  0.pre.03
»edit your freedom«
GenNodeLocationQuery::GenNodeNavigator< PAR > Class Template Reference

Description

template<class PAR>
class stage::interact::GenNodeLocationQuery::GenNodeNavigator< PAR >

Helper to navigate a tree topology represented as GenNode tree.

Basically this is a lib::IterSource<Literal> to encapsulate a sequence of sibling nodes. A "current element" representation is layered on top to allow to expand one level deeper on demand. This "child expansion" is triggered by invoking the expandChildren() function on the iterator front-end provided as LocationQuery::ChildIter

Definition at line 244 of file gen-node-location-query.hpp.

Public Member Functions

template<class IT >
 GenNodeNavigator (Rec const &node, size_t depth, IT &&rawChildIter)
 

Private Types

using Pos = typename PAR::Pos
 

Private Member Functions

virtual TreeStructureNavigatorexpandChildren () const override
 
virtual Pos firstResult () override
 
virtual void nextResult (Pos &pos) override
 

Private Attributes

Literal currentChild_ = Symbol::BOTTOM
 
size_t depth_
 
Rec const & pos_
 
+ Inheritance diagram for GenNodeLocationQuery::GenNodeNavigator< PAR >:
+ Collaboration diagram for GenNodeLocationQuery::GenNodeNavigator< PAR >:

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