Lumiera
0.pre.03
»edit your freedom«
|
#include "stage/interact/ui-coord-resolver.hpp"
Interface to locate and move within a tree shaped structure.
The actual nature of this structure is to be kept abstracted through this interface. The purpose of this construct is to build evaluations and matching operations on top.
Definition at line 149 of file ui-coord-resolver.hpp.
Public Member Functions | |
virtual | ~TreeStructureNavigator () |
this is an interface | |
virtual TreeStructureNavigator * | expandChildren () const =0 |
expand into exploration of child elements at "current position". More... | |
Public Member Functions inherited from IterSource< Literal > | |
virtual | operator string () const |
is ABC More... | |
Static Public Member Functions | |
static auto | buildIterator (TreeStructureNavigator *source) |
build a Lumiera Forward Iterator as front-end and managing Handle for a TreeStructureNavigator or subclass. More... | |
Static Public Member Functions inherited from IterSource< Literal > | |
static iterator | build (IterSource &sourceImpl) |
build an iterator frontend for the given source, More... | |
static iterator | build (IterSource *sourceImplObject) |
build an iterator frontend, thereby managing the given heap allocated source object instance. More... | |
Additional Inherited Members | |
Public Types inherited from IterSource< Literal > | |
using | pointer = Literal * |
using | reference = Literal & |
using | value_type = Literal |
Static Public Attributes inherited from IterSource< Literal > | |
static iterator | EMPTY_SOURCE |
storage for the empty data-source constant | |
Protected Types inherited from IterSource< Literal > | |
typedef shared_ptr< IterSource > | DataHandle |
typedef Literal * | Pos |
Protected Member Functions inherited from IterSource< Literal > | |
virtual void | disconnect () |
disconnect the data source / iteration frontend. More... | |
virtual Pos | firstResult ()=0 |
iteration start: prepare the first element. More... | |
virtual void | nextResult (Pos &pos)=0 |
iteration step: switch on to the next element. More... | |
|
pure virtual |
expand into exploration of child elements at "current position".
At any point, a TreeStructureNavicator instance indicates and represents a position within a tree-like structure. At the same time, it is part of a sequence of siblings, which is accessible through iteration. This operation now allows to extend visitation of siblings by consuming the current element and replacing it with the sequence of its immediate child elements, exposing the first one as the _"current position"_.
this
will not be affected. Referenced by TreeStructureNavigator::buildIterator().
|
inlinestatic |
build a Lumiera Forward Iterator as front-end and managing Handle for a TreeStructureNavigator or subclass.
The provided pointer is assumed to point to heap allocated storage.
Definition at line 178 of file ui-coord-resolver.hpp.
References TreeStructureNavigator::expandChildren(), and lib::explore().