Vcsn
2.3
Be Rational
|
Composite iterator. More...
#include <cross.hh>
Public Types | |
using | iterators_type = IteratorsType |
Underlying iterators. More... | |
Public Member Functions | |
cross_iterator (const iterators_type &is, const iterators_type &begins, const iterators_type &ends) | |
cross_iterator (const iterators_type &is, const iterators_type &ends) | |
template<typename OtherValue , typename OtherIterators > | |
cross_iterator (cross_iterator< OtherValue, OtherIterators > const &that) | |
bool | empty () const |
Whether some of the range is empty. More... | |
void | increment () |
Advance to next position. More... | |
bool | equal (const cross_iterator &that) const |
value_type | dereference () const |
Public Attributes | |
iterators_type | is_ |
The current position. More... | |
iterators_type | begins_ |
The begins. More... | |
iterators_type | ends_ |
The ends. More... | |
Private Member Functions | |
template<std::size_t... I> | |
bool | empty_ (seq< I... >) const |
void | done_ () |
We have reached the end, move all the cursors to this end. More... | |
int | increment_ () |
Move to the next position. More... | |
template<std::size_t... I> | |
int | increment_ (seq< I... >) |
void | reset_up_to_ (int n) |
Move beginning of ranges to their end, and align. More... | |
template<std::size_t... I> | |
void | reset_up_to_ (size_t n, seq< I... >) |
template<std::size_t... I> | |
bool | equal_ (const cross_iterator &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::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::iterators_type = IteratorsType |
|
inline |
|
inline |
|
inline |
Definition at line 85 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::begins_, vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::ends_, and vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::is_.
|
inline |
Definition at line 114 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::dereference_().
|
inlineprivate |
Tuple of values.
Definition at line 194 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::is_.
Referenced by vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::dereference().
|
inlineprivate |
We have reached the end, move all the cursors to this end.
Definition at line 132 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::ends_.
Referenced by vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::increment().
|
inline |
Whether some of the range is empty.
Definition at line 97 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::empty_().
|
inlineprivate |
Definition at line 123 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::begins_.
Referenced by vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::empty().
|
inline |
Definition at line 109 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::equal_().
|
inlineprivate |
Definition at line 184 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::is_.
Referenced by vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::equal().
|
inline |
Advance to next position.
Definition at line 103 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::done_(), and vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::increment_().
|
inlineprivate |
Move to the next position.
Return the index of the lastest iterator that could move, -1 if we reached the end.
Definition at line 139 of file cross.hh.
References vcsn::res, and vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::reset_up_to_().
Referenced by vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::increment().
|
inlineprivate |
Definition at line 150 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::is_, vcsn::res, and vcsn::detail::void.
|
inlineprivate |
Move beginning of ranges to their end, and align.
Definition at line 167 of file cross.hh.
Referenced by vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::increment_().
|
inlineprivate |
Definition at line 173 of file cross.hh.
References vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::is_, and vcsn::detail::void.
|
friend |
iterators_type vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::begins_ |
The begins.
Definition at line 92 of file cross.hh.
Referenced by vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::cross_iterator(), and vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::empty_().
iterators_type vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::ends_ |
The ends.
Definition at line 94 of file cross.hh.
Referenced by vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::cross_iterator(), and vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::done_().
iterators_type vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::is_ |
The current position.
Definition at line 90 of file cross.hh.
Referenced by vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::cross_iterator(), vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::dereference_(), vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::equal_(), vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::increment_(), and vcsn::cross_sequences< Sequences >::cross_iterator< ValueType, IteratorsType >::reset_up_to_().