Lumiera  0.pre.03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
GenNodeLocationQuery::GenNodeNavigator< PAR > Class Template Reference


template<class PAR>
class gui::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_
size_t depth_
Rec const & pos_

Member Typedef Documentation

using Pos = typename PAR::Pos

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

Constructor & Destructor Documentation

GenNodeNavigator ( Rec const &  node,
size_t  depth,
IT &&  rawChildIter 

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

Member Function Documentation

virtual TreeStructureNavigator* expandChildren ( ) const

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

References GenNodeLocationQuery::childNavigator(), GenNodeLocationQuery::GenNodeNavigator< PAR >::currentChild_, and GenNodeLocationQuery::descendInto().

+ Here is the call graph for this function:

virtual Pos firstResult ( )

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

virtual void nextResult ( Pos pos)

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

Member Data Documentation

Rec const& pos_

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

size_t depth_

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

Literal currentChild_
+ Inheritance diagram for GenNodeLocationQuery::GenNodeNavigator< PAR >:
+ Collaboration diagram for GenNodeLocationQuery::GenNodeNavigator< PAR >:

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