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

#include "lib/itertools.hpp"

Description

template<class IT>
struct lib::IdentityCore< IT >

A neutral identity-function core, also serving as point-of reference how any core is intended to work.

Any core is intended to serve as inner part of an iterator tool template.

  • it provides the trait typedefs
  • it abstracts the "source"
  • it abstracts the local operation to be performed
  • the ctor of the core sets up the configuration.
    Note
    cores should be copyable without much overhead

Definition at line 105 of file itertools.hpp.

Public Types

using pointer = IT::pointer
 
using reference = IT::reference
 
using value_type = IT::value_type
 

Public Attributes

IT source_
 

Public Member Functions

 IdentityCore (IT &&orig)
 
 IdentityCore (IT const &orig)
 
IT & pipe ()
 
IT const & pipe () const
 
void advance ()
 
bool evaluate () const
 

Constructor & Destructor Documentation

◆ IdentityCore() [1/2]

template<class IT >
IdentityCore ( IT &&  orig)
inline

Definition at line 109 of file itertools.hpp.

◆ IdentityCore() [2/2]

template<class IT >
IdentityCore ( IT const &  orig)
inline

Definition at line 112 of file itertools.hpp.

Member Typedef Documentation

◆ pointer

template<class IT >
using pointer = IT::pointer

Definition at line 140 of file itertools.hpp.

◆ reference

template<class IT >
using reference = IT::reference

Definition at line 141 of file itertools.hpp.

◆ value_type

template<class IT >
using value_type = IT::value_type

Definition at line 142 of file itertools.hpp.

Member Function Documentation

◆ pipe() [1/2]

template<class IT >
IT & pipe ( )
inline

Definition at line 117 of file itertools.hpp.

References IdentityCore< IT >::source_.

◆ pipe() [2/2]

template<class IT >
IT const & pipe ( ) const
inline

Definition at line 123 of file itertools.hpp.

References IdentityCore< IT >::source_.

◆ advance()

template<class IT >
void advance ( )
inline

Definition at line 129 of file itertools.hpp.

References IdentityCore< IT >::source_.

◆ evaluate()

template<class IT >
bool evaluate ( ) const
inline

Definition at line 135 of file itertools.hpp.

References IdentityCore< IT >::source_.

Member Data Documentation

◆ source_

template<class IT >
IT source_
+ Inheritance diagram for IdentityCore< IT >:
+ Collaboration diagram for IdentityCore< IT >:

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