Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Preconfigured adapters for some STL container standard usage situations.
Especially, definitions for accessing views on common STL containers repackaged as lumiera forward iterators. Mostly the purpose is ease of use, we don't create an abstraction barrier or try to hide implementation details. (see iter-source.hpp for such an abstraction facility). As a benefit, these adapters can be considered low overhead.
Definition in file iter-adapter-stl.hpp.
Classes | |
struct | _MapIterT< IT > |
struct | _MapSubSelector< IT, SEL > |
helper to access the parts of the pair values correctly... More... | |
struct | _MapSubSelector< IT, SEL const & > |
especially for const iterators we need to use const& and const* More... | |
struct | _MapT< MAP > |
struct | _MapTypeSelector< MAP > |
struct | _MapTypeSelector< const MAP > |
struct | _SeqT< SEQ > |
struct | _SeqT< const SEQ > |
class | DistinctIter< IT > |
Helper to filter repeated values from a wrapped iterator (both STL or Lumiera) More... | |
class | IterSnapshot< VAL > |
materialised iterator contents. More... | |
struct | Wrapped_Identity< IT > |
Wrapped-Iter-Policy: forwarding directly with typing retained unaltered. More... | |
struct | Wrapped_PickConstVal< IT > |
struct | Wrapped_PickKey< IT > |
Wrapped-Iter-Policy: picking the key part of a pair iterator (map or multimap). More... | |
struct | Wrapped_PickVal< IT > |
Wrapped-Iter-Policy: picking the value part of a pair iterator (map or multimap). More... | |
struct | WrappedStlIter< DEF > |
helper baseclass to simplify defining customised wrapped STL iterators More... | |
Typedefs | |
template<class CON > | |
using | ContentSnapshot = IterSnapshot< typename CON::value_type > |
Functions | |
template<class IT > | |
ContentSnapshot< IT > | dischargeToSnapshot (IT &ii) |
Take a snapshot of the given LumieraIterator, which is thereby consumed. More... | |
template<class CON > | |
_SeqT< CON >::Addrs | eachAddress (CON &coll) |
template<class SEQ > | |
_SeqT< SEQ >::DistinctVals | eachDistinct (SEQ &seq) |
build a Lumiera Forward Iterator to suppress any repetitions in the given sequence. | |
template<class MAP > | |
_MapT< MAP >::DistinctKeys | eachDistinctKey (MAP &map) |
template<class CON > | |
_SeqT< CON >::Range | eachElm (CON &coll) |
template<class MAP > | |
_MapT< MAP >::KeyIter | eachKey (MAP &map) |
template<class IT > | |
_MapIterT< IT >::KeyIter | eachKey (IT const &begin, IT const &end) |
template<class MAP > | |
_MapT< MAP >::ValIter | eachVal (MAP &map) |
template<class IT > | |
_MapIterT< IT >::ValIter | eachVal (IT const &begin, IT const &end) |
template<class MMAP , typename KEY > | |
_MapT< MMAP >::ValIter | eachValForKey (MMAP &multimap, KEY key) |
template<class CON > | |
ContentSnapshot< CON > | snapshot (CON const &con) |
Take a snapshot of the given STL compliant container. More... | |
template<class VAL > | |
iter_stl::IterSnapshot< VAL > | snapshot (std::initializer_list< VAL > const &&ili) |
Take a snapshot of the given std::initializer_list . More... | |
Namespaces | |
lib | |
Implementation namespace for support and library code. | |
struct lib::iter_stl::anonymous_namespace{iter-adapter-stl.hpp}::_MapIterT |
Class Members | ||
---|---|---|
typedef IT | EntryIter | |
typedef first_type | KeyType | |
typedef second_type | ValType | |
typedef reference | DetectConst | |
typedef _MapSubSelector < EntryIter, DetectConst > ::PickKey |
PickKeyIter | |
typedef _MapSubSelector < EntryIter, DetectConst > ::PickVal |
PickValIter | |
typedef RangeIter< PickKeyIter > | KeyIter | |
typedef RangeIter< PickValIter > | ValIter | |
typedef DistinctIter< KeyIter > | DistinctKeys |
struct lib::iter_stl::anonymous_namespace{iter-adapter-stl.hpp}::_MapSubSelector |
Class Members | ||
---|---|---|
typedef WrappedStlIter < Wrapped_PickKey< IT > > |
PickKey | |
typedef WrappedStlIter < Wrapped_PickVal< IT > > |
PickVal |
struct lib::iter_stl::anonymous_namespace{iter-adapter-stl.hpp}::_MapSubSelector< IT, SEL const & > |
Class Members | ||
---|---|---|
typedef WrappedStlIter < Wrapped_PickKey< IT > > |
PickKey | |
typedef WrappedStlIter < Wrapped_PickConstVal< IT > > |
PickVal |
struct lib::iter_stl::anonymous_namespace{iter-adapter-stl.hpp}::_MapT |
Class Members | ||
---|---|---|
typedef _MapTypeSelector< MAP > ::Key |
KeyType | |
typedef _MapTypeSelector< MAP > ::Val |
ValType | |
typedef _MapTypeSelector< MAP > ::Itr |
EntryIter | |
typedef reference | DetectConst | |
typedef _MapSubSelector < EntryIter, DetectConst > ::PickKey |
PickKeyIter | |
typedef _MapSubSelector < EntryIter, DetectConst > ::PickVal |
PickValIter | |
typedef RangeIter< PickKeyIter > | KeyIter | |
typedef RangeIter< PickValIter > | ValIter | |
typedef DistinctIter< KeyIter > | DistinctKeys |
struct lib::iter_stl::anonymous_namespace{iter-adapter-stl.hpp}::_MapTypeSelector |
struct lib::iter_stl::anonymous_namespace{iter-adapter-stl.hpp}::_MapTypeSelector< const MAP > |
struct lib::iter_stl::anonymous_namespace{iter-adapter-stl.hpp}::_SeqT |
Class Members | ||
---|---|---|
typedef iterator | Iter | |
typedef RangeIter< Iter > | Range | |
typedef DistinctIter< Range > | DistinctVals | |
typedef AddressExposingIter < Range > |
Addrs |
struct lib::iter_stl::anonymous_namespace{iter-adapter-stl.hpp}::_SeqT< const SEQ > |
Class Members | ||
---|---|---|
typedef const_iterator | Iter | |
typedef RangeIter< Iter > | Range | |
typedef DistinctIter< Range > | DistinctVals | |
typedef AddressExposingIter < Range > |
Addrs |
|
inline |
Definition at line 285 of file iter-adapter-stl.hpp.
References lib::iter_stl::eachElm().
Referenced by lib::iter_stl::eachAddress(), and lib::iter_stl::eachElm().
|
inline |
Definition at line 297 of file iter-adapter-stl.hpp.
References lib::iter_stl::eachAddress(), and lib::iter_stl::eachElm().
Referenced by lib::iter_stl::eachAddress().
|
inline |
Definition at line 309 of file iter-adapter-stl.hpp.
References lib::iter_stl::eachKey().
Referenced by lib::iter_stl::eachDistinctKey(), and lib::iter_stl::eachKey().
|
inline |
Definition at line 323 of file iter-adapter-stl.hpp.
References lib::iter_stl::eachKey().
|
inline |
Definition at line 337 of file iter-adapter-stl.hpp.
References lib::iter_stl::eachVal().
Referenced by lib::iter_stl::eachVal().
|
inline |
Definition at line 351 of file iter-adapter-stl.hpp.
References lib::iter_stl::eachVal().
|
inline |
Definition at line 380 of file iter-adapter-stl.hpp.
References lib::iter_stl::eachDistinctKey(), and lib::iter_stl::eachKey().
Referenced by lib::iter_stl::eachDistinctKey().
|
inline |
Definition at line 392 of file iter-adapter-stl.hpp.
References lib::iter_stl::eachValForKey().
Referenced by lib::iter_stl::eachValForKey().
|
inline |
Take a snapshot of the given STL compliant container.
Definition at line 569 of file iter-adapter-stl.hpp.
References lib::iter_stl::snapshot().
Referenced by lib::iter_stl::snapshot().
|
inline |
Take a snapshot of the given LumieraIterator, which is thereby consumed.
Definition at line 579 of file iter-adapter-stl.hpp.
References lib::iter_stl::dischargeToSnapshot().
Referenced by lib::iter_stl::dischargeToSnapshot().
|
inline |
Take a snapshot of the given std::initializer_list
.
Definition at line 595 of file iter-adapter-stl.hpp.
References lib::iter_stl::snapshot().