Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ChainedIters< SEQ, disable_if< _is_iterator_of_iterators< SEQ > > > Class Template Reference

#include "lib/iter-explorer.hpp"

Description

template<class SEQ>
class lib::iter_explorer::ChainedIters< SEQ, disable_if< _is_iterator_of_iterators< SEQ > > >

Convenience specialisation: manage the sequence of iterators automatically.

Note
in this case the first template parameter denotes the element sequence type; we use a IterStack to hold the sequence-of-iterators in heap storage.
Warning
this specialisation will not be picked, if the value-type of the given iterator is itself an iterator

Definition at line 476 of file iter-explorer.hpp.

Public Types

typedef IterStack< SEQ > IteratorIterator
 
- Public Types inherited from IterStateWrapper< SEQ::value_type, ChainedIteratorImpl< IterStack< SEQ >, SEQ > >
typedef SEQ::value_type * pointer
 
typedef SEQ::value_type & reference
 
typedef SEQ::value_type value_type
 

Public Member Functions

 ChainedIters (IteratorIterator const &iteratorOfIterators)
 
 ChainedIters ()
 empty result sequence by default More...
 
- Public Member Functions inherited from IterStateWrapper< SEQ::value_type, ChainedIteratorImpl< IterStack< SEQ >, SEQ > >
 IterStateWrapper (ChainedIteratorImpl< IterStack< SEQ >, SEQ > &&initialState)
 
 IterStateWrapper (ChainedIteratorImpl< IterStack< SEQ >, SEQ >const &initialState)
 
 IterStateWrapper ()
 
bool empty () const
 
 ENABLE_USE_IN_STD_RANGE_FOR_LOOPS (IterStateWrapper)
 
bool isValid () const
 
 operator bool () const
 
reference operator* () const
 
IterStateWrapperoperator++ ()
 
pointer operator-> () const
 

Additional Inherited Members

- Protected Member Functions inherited from IterStateWrapper< SEQ::value_type, ChainedIteratorImpl< IterStack< SEQ >, SEQ > >
void __throw_if_empty () const
 
ChainedIteratorImpl< IterStack
< SEQ >, SEQ > & 
stateCore ()
 allow derived classes to access state representation More...
 

Member Typedef Documentation

Definition at line 483 of file iter-explorer.hpp.

Constructor & Destructor Documentation

ChainedIters ( IteratorIterator const &  iteratorOfIterators)
inline

Definition at line 485 of file iter-explorer.hpp.

ChainedIters ( )
inline

empty result sequence by default

Definition at line 491 of file iter-explorer.hpp.

+ Inheritance diagram for ChainedIters< SEQ, disable_if< _is_iterator_of_iterators< SEQ > > >:
+ Collaboration diagram for ChainedIters< SEQ, disable_if< _is_iterator_of_iterators< SEQ > > >:

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