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

Description

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

◆ Pos

using Pos = typename PAR::Pos
private

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

Constructor & Destructor Documentation

◆ GenNodeNavigator()

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

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

Member Function Documentation

◆ expandChildren()

virtual TreeStructureNavigator* expandChildren ( ) const
inlineoverrideprivatevirtual

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:

◆ firstResult()

virtual Pos firstResult ( )
inlineoverrideprivatevirtual

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

◆ nextResult()

virtual void nextResult ( Pos pos)
inlineoverrideprivatevirtual

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

Member Data Documentation

◆ pos_

Rec const& pos_
private

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

◆ depth_

size_t depth_
private

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

◆ currentChild_

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

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