Lumiera  0.pre.03
»edit your freedom«
PackagedIterExplorerSource< SRC > Class Template Reference

#include "lib/iter-explorer.hpp"

Description

template<class SRC>
class lib::iter_explorer::PackagedIterExplorerSource< SRC >

Decorator to package a whole IterExplorer pipeline suitably to be handled through an IterSource based front-end. Such packaging is performed by the IterExplorer::asIterSource() terminal builder function. In addition to wrapping the iterator, the expandChildren() operation is exposed as virtual function, to allow invocation through the type-erased front-end, without any knowledge about the concrete implementation type of the wrapped TreeIterator pipeline.

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

Public Member Functions

virtual size_t depth () const override
 
virtual Val * expandChildren () override
 
- Public Member Functions inherited from WrappedLumieraIter< SRC >
 WrappedLumieraIter (SRC const &orig)
 
 WrappedLumieraIter (SRC &&orig)
 
- Public Member Functions inherited from IterSource< typename meta::ValueTypeBinding< SRC >::value_type >
virtual operator string () const
 is ABC More...
 

Private Types

using Parent = WrappedLumieraIter< SRC >
 
using Val = typename SRC::value_type
 

Additional Inherited Members

- Public Types inherited from IterSource< typename meta::ValueTypeBinding< SRC >::value_type >
using pointer = typename meta::ValueTypeBinding< SRC >::value_type *
 
using reference = typename meta::ValueTypeBinding< SRC >::value_type &
 
using value_type = typename meta::ValueTypeBinding< SRC >::value_type
 
- Static Public Member Functions inherited from IterSource< typename meta::ValueTypeBinding< SRC >::value_type >
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...
 
- Static Public Attributes inherited from IterSource< typename meta::ValueTypeBinding< SRC >::value_type >
static iterator EMPTY_SOURCE
 storage for the empty data-source constant
 
- Protected Types inherited from WrappedLumieraIter< SRC >
using Pos = typename IterSource< typename meta::ValueTypeBinding< SRC >::value_type > ::Pos
 
- Protected Types inherited from IterSource< typename meta::ValueTypeBinding< SRC >::value_type >
typedef shared_ptr< IterSourceDataHandle
 
typedef typename meta::ValueTypeBinding< SRC >::value_type * Pos
 
- Protected Member Functions inherited from WrappedLumieraIter< SRC >
Pos firstResult ()
 
void nextResult (Pos &pos)
 
SRC & wrappedIter ()
 
SRC const & wrappedIter () const
 
- Protected Member Functions inherited from IterSource< typename meta::ValueTypeBinding< SRC >::value_type >
virtual void disconnect ()
 disconnect the data source / iteration frontend. More...
 
- Protected Member Functions inherited from ChildExpandableSource< SRC::value_type >
 ~ChildExpandableSource ()
 
+ Inheritance diagram for PackagedIterExplorerSource< SRC >:
+ Collaboration diagram for PackagedIterExplorerSource< SRC >:

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