Lumiera  0.pre.03
»edityourfreedom«
lib::iter_source Namespace Reference

Functions

template<class MAP >
_MapT< MAP >::KeyIter eachDistinctKey (MAP &map)
 
template<class CON >
_SeqT< CON >::Iter eachEntry (CON &container)
 
template<class IT >
_RangeT< IT >::Iter eachEntry (IT const &begin, IT const &end)
 
template<class MAP >
_MapT< MAP >::KeyIter eachMapKey (MAP &map)
 
template<class MAP >
_MapT< MAP >::ValIter eachMapVal (MAP &map)
 
template<class MAP >
_MapT< MAP >::ValIter eachValForKey (MAP &map, typename _MapT< MAP >::Key key)
 
template<typename VAL >
auto singleVal (VAL &&something)
 an IterSource frontend to return just a single value once. More...
 
template<class IT , class FUN >
_TransformIterT< IT, FUN >::Iter transform (IT &&source, FUN processingFunc)
 pipes a given Lumiera Forward Iterator through a transformation function and wraps the resulting transforming Iterator, exposing just an IterSource. More...
 
template<class IT >
_IterT< IT >::Iter wrapIter (IT &&source)
 wraps a given Lumiera Forward Iterator, exposing just a IterSource based frontend. More...
 

Function Documentation

◆ wrapIter()

_IterT<IT>::Iter lib::iter_source::wrapIter ( IT &&  source)

wraps a given Lumiera Forward Iterator, exposing just a IterSource based frontend.

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

References IterSource< TY >::build(), and IterAdapter< Pos, DataHandle >::source().

Referenced by eachDistinctKey(), eachMapKey(), eachMapVal(), eachValForKey(), ScopeLocator::locate(), and MutationMessage::MutationMessage().

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

◆ singleVal()

auto lib::iter_source::singleVal ( VAL &&  something)

an IterSource frontend to return just a single value once.

Warning
behind the scenes, a heap allocation is managed by shared_ptr, to maintain a copy of the wrapped element. When passing a reference, only a reference will be wrapped, but a heap allocation happens nonetheless

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

References IterSource< TY >::build(), and lib::singleValIterator().

Referenced by IterSource_test::verify_singleValIter().

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

◆ transform()

_TransformIterT<IT,FUN>::Iter lib::iter_source::transform ( IT &&  source,
FUN  processingFunc 
)

pipes a given Lumiera Forward Iterator through a transformation function and wraps the resulting transforming Iterator, exposing just an IterSource.

This convenience shortcut can be used to build a processing chain; the resulting IterSource will hide any detail types involved.

Note
as with any IterSource, there is one virtual function call for every fetched element.

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

References IterSource< TY >::build(), IterAdapter< Pos, DataHandle >::source(), and lib::transformIterator().

Referenced by EngineService::calculate(), OutputSlotImplBase::ConnectionManager< CON >::getOpenedSinks(), PlayProcess::initiate(), UICoordResolver::pathResolution(), IterTreeExplorer_test::verify_asIterSource(), IterTreeExplorer_test::verify_combinedExpandTransform(), IterTreeExplorer_test::verify_customProcessingLayer(), IterTreeExplorer_test::verify_depthFirstExploration(), IterTreeExplorer_test::verify_FilterIterator(), IterSource_test::verify_transformIter(), and IterTreeExplorer_test::verify_transformOperation().

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

◆ eachMapKey()

_MapT<MAP>::KeyIter lib::iter_source::eachMapKey ( MAP &  map)
Returns
a Lumiera Forward Iterator to yield all the keys of the given Map or Hashtable

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

References wrapIter().

Referenced by PlacementIndex::Table::_eachEntry_4check(), and IterSource_test::verify_MapWrappers().

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

◆ eachMapVal()

_MapT<MAP>::ValIter lib::iter_source::eachMapVal ( MAP &  map)
Returns
a Lumiera Forward Iterator to yield all the values of the given Map or Hashtable

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

References wrapIter().

Referenced by IterSource_test::verify_MapWrappers().

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

◆ eachDistinctKey()

_MapT<MAP>::KeyIter lib::iter_source::eachDistinctKey ( MAP &  map)
Returns
a Lumiera Forward Iterator to yield all distinct keys of a Multimap
Warning
we do a full table scan to find the distinct keys

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

References lib::filterRepetitions(), and wrapIter().

+ Here is the call graph for this function:

◆ eachValForKey()

_MapT<MAP>::ValIter lib::iter_source::eachValForKey ( MAP &  map,
typename _MapT< MAP >::Key  key 
)
Returns
a Lumiera Forward Iterator to yield all values associated to the given key within this Map or Multimap
Note
obviously in case of a Map we'll get at most one result.

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

References wrapIter().

+ Here is the call graph for this function:

◆ eachEntry() [1/2]

_SeqT<CON>::Iter lib::iter_source::eachEntry ( CON &  container)
Parameters
containera STL-like container, providing
  • a typedef iterator
  • functions begin() and end()
Returns
a Lumiera Forward Iterator yielding all values starting with begin and excluding end .

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

References IterSource< TY >::build().

Referenced by MutationMessage::MutationMessage(), and IterSource_test::verify_simpleIters().

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

◆ eachEntry() [2/2]

_RangeT<IT>::Iter lib::iter_source::eachEntry ( IT const &  begin,
IT const &  end 
)
Returns
a Lumiera Forward Iterator to yield all values defined by a classical Iterator range.

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

References IterSource< TY >::build().

+ Here is the call graph for this function: