Lumiera  0.pre.03
»edit your freedom«
ChildExpandableSource< VAL > Class Template Referenceabstract

#include "lib/iter-explorer.hpp"

Description

template<typename VAL>
class lib::iter_explorer::ChildExpandableSource< VAL >

Interface to indicate and expose the ability for child expansion.

This interface is used when packaging a IterExplorer pipeline opaquely into IterSource.

Remarks
the depth() call indicates the depth of the child expansion tree. This information can be used by a "downstream" consumer to react according to a nested scope structure.
Todo:
expandChildren() should not return the value pointer. This is just a workaround to cope with the design mismatch in IterSource; the fact that latter just passes around a pointer into the implementation is ugly, dangerous and plain silly. ////////////////////////////////////////////////////////////TICKET #1125 Incidentally, this is also the sole reason why this interface is templated with VAL

Definition at line 1426 of file iter-explorer.hpp.

Public Member Functions

virtual size_t depth () const =0
 
virtual VAL * expandChildren ()=0
 

Protected Member Functions

 ~ChildExpandableSource ()
 

Constructor & Destructor Documentation

◆ ~ChildExpandableSource()

~ChildExpandableSource ( )
inlineprotected
Note
mix-in interface, not meant to handle objects

Definition at line 1429 of file iter-explorer.hpp.

+ Inheritance diagram for ChildExpandableSource< VAL >:
+ Collaboration diagram for ChildExpandableSource< VAL >:

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