Vcsn
2.2
Be Rational
|
Composite iterator. More...
#include <zip.hh>
Public Types | |
using | iterators_type = IteratorsType |
Underlying iterators. More... | |
Public Member Functions | |
zip_iterator (const iterators_type &is, const iterators_type &ends) | |
template<typename OtherValue , typename OtherIterators > | |
zip_iterator (zip_iterator< OtherValue, OtherIterators > const &that) | |
zip_iterator & | operator++ () |
Advance to next position. More... | |
void | increment () |
void | advance (std::size_t n) |
value_type | operator* () const |
const iterators_type & | iterators () const |
const iterators_type & | end () const |
Public Attributes | |
iterators_type | is_ |
The current position. More... | |
iterators_type | ends_ |
The ends. More... | |
Protected Member Functions | |
void | done_ () |
We have reached the end, move all the cursors to this end. More... | |
bool | next_ () |
Move to the next position. More... | |
template<std::size_t... I> | |
bool | next_ (seq< I... >) |
template<typename OtherValue , typename OtherIterators > | |
bool | equal (const zip_iterator< OtherValue, OtherIterators > &that) const |
template<typename OtherValue , typename OtherIterators , std::size_t... I> | |
bool | equal_ (const zip_iterator< OtherValue, OtherIterators > &that, seq< I... >) const |
template<std::size_t... I> | |
value_type | dereference_ (seq< I... >) const |
Tuple of values. More... | |
Friends | |
class | boost::iterator_core_access |
Composite iterator.
using vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::iterators_type = IteratorsType |
|
inline |
|
inline |
Definition at line 71 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::is_.
|
inline |
Definition at line 94 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::increment().
|
inlineprotected |
Tuple of values.
Definition at line 166 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::is_.
Referenced by vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::operator*(), and vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::operator*().
|
inlineprotected |
We have reached the end, move all the cursors to this end.
Definition at line 119 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::ends_.
Referenced by vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::operator++(), and vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::operator++().
|
inline |
Definition at line 110 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::ends_.
Referenced by vcsn::zip_sequences< Sequences >::begin_(), vcsn::zip_sequences_padded< ZipSequences >::begin_(), vcsn::zip_sequences< Sequences >::end_(), and vcsn::zip_sequences_padded< ZipSequences >::end_().
|
inlineprotected |
Definition at line 148 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::equal_().
|
inlineprotected |
Definition at line 155 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::is_.
Referenced by vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::equal().
|
inline |
Definition at line 89 of file zip.hh.
Referenced by vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::advance().
|
inline |
Definition at line 105 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::is_.
|
inlineprotected |
Move to the next position.
Return the index of the lastest iterator that could move, -1 if we reached the end.
Definition at line 126 of file zip.hh.
Referenced by vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::next_(), vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::operator++(), and vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::operator++().
|
inlineprotected |
Definition at line 132 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::is_, and vcsn::detail::void.
|
inline |
Definition at line 100 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::dereference_().
|
inline |
Advance to next position.
Definition at line 82 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::done_(), and vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::next_().
|
friend |
iterators_type vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::ends_ |
The ends.
Definition at line 79 of file zip.hh.
Referenced by vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::done_(), and vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::end().
iterators_type vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::is_ |
The current position.
Definition at line 77 of file zip.hh.
Referenced by vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::dereference_(), vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::dereference_(), vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::equal_(), vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::iterators(), vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::next_(), vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::next_(), and vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::zip_iterator().