Lumiera 0.pre.04~rc.1
»edit your freedom«
Loading...
Searching...
No Matches
WrappedLumieraIter< IT, ISO > Class Template Reference

#include "lib/iter-source.hpp"

Description

template<class IT, class ISO = IterSource<typename meta::ValueTypeBinding<IT>::value_type>>
class lib::WrappedLumieraIter< IT, ISO >

Standard implementation of the IterSource interface: a wrapped "Lumiera Forward Iterator".

Usually, such a wrapper instance is passed to one of the IterSource's builder functions, thereby erasing the specific type information of the template parameter IT

Definition at line 222 of file iter-source.hpp.

Public Member Functions

 WrappedLumieraIter (IT const &orig)
 
 WrappedLumieraIter (IT &&orig)
 
- Public Member Functions inherited from IterSource< TY >
virtual ~IterSource ()
 
virtual operator string () const
 is ABC
 

Protected Types

using Pos = ISO::Pos
 
- Protected Types inherited from IterSource< TY >
using Pos = TY *
 
using DataHandle = shared_ptr< IterSource >
 

Protected Member Functions

Pos firstResult ()
 iteration start: prepare the first element.
 
void nextResult (Pos &pos)
 
IT & wrappedIter ()
 
IT const & wrappedIter () const
 
- Protected Member Functions inherited from IterSource< TY >
virtual void nextResult (Pos &pos)=0
 iteration step: switch on to the next element.
 
virtual void disconnect ()
 disconnect the data source / iteration frontend.
 

Private Attributes

IT src_
 

Additional Inherited Members

- Public Types inherited from IterSource< TY >
using value_type = TY
 
using reference = TY &
 
using pointer = TY *
 
- Static Public Attributes inherited from IterSource< TY >
static iterator EMPTY_SOURCE = iterator()
 storage for the empty data-source constant
 
- Static Public Member Functions inherited from IterSource< TY >
static iterator build (IterSource &sourceImpl)
 build an iterator frontend for the given source,
 
static iterator build (IterSource *sourceImplObject)
 build an iterator frontend, thereby managing the given heap allocated source object instance.
 
- Private Member Functions inherited from NonCopyable
 ~NonCopyable ()=default
 
 NonCopyable ()=default
 
 NonCopyable (NonCopyable const &)=delete
 
NonCopyableoperator= (NonCopyable const &)=delete
 

Constructor & Destructor Documentation

◆ WrappedLumieraIter() [1/2]

template<class IT , class ISO = IterSource<typename meta::ValueTypeBinding<IT>::value_type>>
WrappedLumieraIter ( IT const &  orig)
inline

Definition at line 254 of file iter-source.hpp.

◆ WrappedLumieraIter() [2/2]

template<class IT , class ISO = IterSource<typename meta::ValueTypeBinding<IT>::value_type>>
WrappedLumieraIter ( IT &&  orig)
inline

Definition at line 258 of file iter-source.hpp.

Member Typedef Documentation

◆ Pos

template<class IT , class ISO = IterSource<typename meta::ValueTypeBinding<IT>::value_type>>
using Pos = ISO::Pos
protected

Definition at line 229 of file iter-source.hpp.

Member Function Documentation

◆ firstResult()

template<class IT , class ISO = IterSource<typename meta::ValueTypeBinding<IT>::value_type>>
Pos firstResult ( )
inlineprotectedvirtual

iteration start: prepare the first element.

may return NULL in case of empty data source

Implements IterSource< TY >.

Definition at line 232 of file iter-source.hpp.

References WrappedLumieraIter< IT, ISO >::src_.

◆ nextResult()

template<class IT , class ISO = IterSource<typename meta::ValueTypeBinding<IT>::value_type>>
void nextResult ( Pos pos)
inlineprotected

Definition at line 241 of file iter-source.hpp.

References WrappedLumieraIter< IT, ISO >::src_.

◆ wrappedIter() [1/2]

template<class IT , class ISO = IterSource<typename meta::ValueTypeBinding<IT>::value_type>>
IT & wrappedIter ( )
inlineprotected

Definition at line 264 of file iter-source.hpp.

References WrappedLumieraIter< IT, ISO >::src_.

◆ wrappedIter() [2/2]

template<class IT , class ISO = IterSource<typename meta::ValueTypeBinding<IT>::value_type>>
IT const & wrappedIter ( ) const
inlineprotected

Definition at line 265 of file iter-source.hpp.

References WrappedLumieraIter< IT, ISO >::src_.

Member Data Documentation

◆ src_

template<class IT , class ISO = IterSource<typename meta::ValueTypeBinding<IT>::value_type>>
IT src_
private
+ Inheritance diagram for WrappedLumieraIter< IT, ISO >:
+ Collaboration diagram for WrappedLumieraIter< IT, ISO >:

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