Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
IterStateCore< IT > Class Template Reference

#include "lib/iter-adapter.hpp"

Description

template<class IT>
class lib::IterStateCore< IT >

Adapter to dress up an existing »Lumiera Forward Iterator« as »state core«.

This building block achieves the complement of IterStateWrapper by providing the API functions expected by the latter's state protocol; a combination of IterStateCore and IterStateWrapper layered on top behaves identical to the original iterator. This can be used to change some aspects of the behaviour.

Remarks
directly layered by inheritance, thus public functions of the wrapped iterator remain visible (contrary to IterStateWrapper)

Definition at line 500 of file iter-adapter.hpp.

Public Member Functions

bool checkPoint () const
 
IT::reference yield () const
 
void iterNext ()
 

Protected Member Functions

IT & srcIter () const
 

Member Function Documentation

◆ srcIter()

template<class IT >
IT & srcIter ( ) const
inlineprotected

Definition at line 507 of file iter-adapter.hpp.

References util::unConst().

Referenced by IterStateCore< IT >::checkPoint(), IterStateCore< IT >::iterNext(), and IterStateCore< IT >::yield().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkPoint()

template<class IT >
bool checkPoint ( ) const
inline

Definition at line 517 of file iter-adapter.hpp.

References IterStateCore< IT >::srcIter().

+ Here is the call graph for this function:

◆ yield()

template<class IT >
IT::reference yield ( ) const
inline

Definition at line 523 of file iter-adapter.hpp.

References IterStateCore< IT >::srcIter().

+ Here is the call graph for this function:

◆ iterNext()

template<class IT >
void iterNext ( )
inline

Definition at line 529 of file iter-adapter.hpp.

References IterStateCore< IT >::srcIter().

+ Here is the call graph for this function:
+ Inheritance diagram for IterStateCore< IT >:
+ Collaboration diagram for IterStateCore< IT >:

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