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

#include "lib/itertools.hpp"

Description

template<class IT, class VAL>
class lib::TransformingCore< IT, VAL >

Implementation of custom processing logic.

This core stores a function object instance to treat each source element pulled.

Definition at line 679 of file itertools.hpp.

Public Types

using pointer = ValueTypeBinding< VAL >::pointer
 
using reference = ValueTypeBinding< VAL >::reference
 
using value_type = ValueTypeBinding< VAL >::value_type
 

Public Member Functions

 TransformingCore ()
 
template<typename FUN >
 TransformingCore (IT &&orig, FUN processor)
 
template<typename FUN >
 TransformingCore (IT const &orig, FUN processor)
 
Item const & pipe () const
 
void advance ()
 
bool evaluate () const
 

Private Types

using InType = iter::Yield< IT >
 
using Item = wrapper::ItemWrapper< VAL >
 

Private Member Functions

void processItem ()
 

Private Attributes

function< VAL(InType)> trafo_
 
IT source_
 
Item treated_
 

Constructor & Destructor Documentation

◆ TransformingCore() [1/3]

template<class IT , class VAL >
TransformingCore ( )
inline

Definition at line 701 of file itertools.hpp.

◆ TransformingCore() [2/3]

template<class IT , class VAL >
template<typename FUN >
TransformingCore ( IT &&  orig,
FUN  processor 
)
inline

Definition at line 708 of file itertools.hpp.

References TransformingCore< IT, VAL >::processItem().

+ Here is the call graph for this function:

◆ TransformingCore() [3/3]

template<class IT , class VAL >
template<typename FUN >
TransformingCore ( IT const &  orig,
FUN  processor 
)
inline

Definition at line 716 of file itertools.hpp.

References TransformingCore< IT, VAL >::processItem().

+ Here is the call graph for this function:

Member Typedef Documentation

◆ InType

template<class IT , class VAL >
using InType = iter::Yield<IT>
private

Definition at line 681 of file itertools.hpp.

◆ Item

template<class IT , class VAL >
using Item = wrapper::ItemWrapper<VAL>
private

Definition at line 682 of file itertools.hpp.

◆ pointer

template<class IT , class VAL >
using pointer = ValueTypeBinding<VAL>::pointer

Definition at line 742 of file itertools.hpp.

◆ reference

template<class IT , class VAL >
using reference = ValueTypeBinding<VAL>::reference

Definition at line 743 of file itertools.hpp.

◆ value_type

template<class IT , class VAL >
using value_type = ValueTypeBinding<VAL>::value_type

Definition at line 744 of file itertools.hpp.

Member Function Documentation

◆ processItem()

template<class IT , class VAL >
void processItem ( )
inlineprivate

Definition at line 690 of file itertools.hpp.

References ItemWrapper< TY >::reset(), TransformingCore< IT, VAL >::source_, TransformingCore< IT, VAL >::trafo_, and TransformingCore< IT, VAL >::treated_.

Referenced by TransformingCore< IT, VAL >::TransformingCore(), TransformingCore< IT, VAL >::TransformingCore(), and TransformingCore< IT, VAL >::advance().

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

◆ pipe()

template<class IT , class VAL >
Item const & pipe ( ) const
inline

Definition at line 724 of file itertools.hpp.

References TransformingCore< IT, VAL >::treated_.

◆ advance()

template<class IT , class VAL >
void advance ( )
inline

Definition at line 730 of file itertools.hpp.

References TransformingCore< IT, VAL >::processItem(), and TransformingCore< IT, VAL >::source_.

+ Here is the call graph for this function:

◆ evaluate()

template<class IT , class VAL >
bool evaluate ( ) const
inline

Definition at line 737 of file itertools.hpp.

References TransformingCore< IT, VAL >::source_.

Member Data Documentation

◆ trafo_

template<class IT , class VAL >
function<VAL(InType)> trafo_
private

Definition at line 684 of file itertools.hpp.

Referenced by TransformingCore< IT, VAL >::processItem().

◆ source_

template<class IT , class VAL >
IT source_
private

◆ treated_

template<class IT , class VAL >
Item treated_
private
+ Collaboration diagram for TransformingCore< IT, VAL >:

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