Vcsn
2.3
Be Rational
|
#include <zip.hh>
Classes | |
struct | zip_iterator |
Composite iterator. More... | |
Public Types | |
using | sequences_t = std::tuple< Sequences... > |
Type of the tuple of all the maps. More... | |
template<std::size_t... I> | |
using | seq = vcsn::detail::index_sequence< I... > |
Type of index sequences. More... | |
using | indices_t = vcsn::detail::make_index_sequence< sizeof...(Sequences)> |
Index sequence for our sequences. More... | |
template<typename Seq > | |
using | seq_t = typename std::remove_reference< Seq >::type |
The type of the underlying sequences, without reference. More... | |
using | value_type = std::tuple< typename seq_t< Sequences >::value_type... > |
The type of the members. More... | |
using | const_iterators_t = std::tuple< typename seq_t< Sequences >::const_iterator... > |
Tuple of const_iterators. More... | |
using | iterators_t = std::tuple< typename seq_t< Sequences >::iterator... > |
Tuple of iterators. More... | |
using | iterator = zip_iterator< value_type, iterators_t > |
Mutable iterator. More... | |
using | const_iterator = zip_iterator< const value_type, const_iterators_t > |
Const iterator. More... | |
Public Member Functions | |
zip_sequences (const sequences_t &sequences) | |
zip_sequences (Sequences...sequences) | |
const_iterator | cbegin () const |
const_iterator | cend () const |
const_iterator | begin () const |
const_iterator | end () const |
iterator | begin () |
iterator | end () |
Static Public Attributes | |
static constexpr size_t | size = sizeof...(Sequences) |
Number of sequences. More... | |
Private Member Functions | |
template<std::size_t... I> | |
const_iterator | cbegin_ (seq< I... >) const |
template<std::size_t... I> | |
const_iterator | cend_ (seq< I... >) const |
template<std::size_t... I> | |
iterator | begin_ (seq< I... >) |
template<std::size_t... I> | |
iterator | end_ (seq< I... >) |
Private Attributes | |
sequences_t | sequences_ |
The sequences we iterate upon. More... | |
using vcsn::zip_sequences< Sequences >::const_iterator = zip_iterator<const value_type, const_iterators_t> |
using vcsn::zip_sequences< Sequences >::const_iterators_t = std::tuple<typename seq_t<Sequences>::const_iterator...> |
using vcsn::zip_sequences< Sequences >::indices_t = vcsn::detail::make_index_sequence<sizeof...(Sequences)> |
using vcsn::zip_sequences< Sequences >::iterator = zip_iterator<value_type, iterators_t> |
using vcsn::zip_sequences< Sequences >::iterators_t = std::tuple<typename seq_t<Sequences>::iterator...> |
using vcsn::zip_sequences< Sequences >::seq = vcsn::detail::index_sequence<I...> |
using vcsn::zip_sequences< Sequences >::seq_t = typename std::remove_reference<Seq>::type |
using vcsn::zip_sequences< Sequences >::sequences_t = std::tuple<Sequences...> |
using vcsn::zip_sequences< Sequences >::value_type = std::tuple<typename seq_t<Sequences>::value_type...> |
|
inline |
|
inline |
|
inline |
Definition at line 188 of file zip.hh.
References vcsn::zip_sequences< Sequences >::cbegin().
Referenced by vcsn::zip_sequences< Sequences >::begin_(), and vcsn::zip_sequences_padded< ZipSequences >::begin_().
|
inline |
Definition at line 198 of file zip.hh.
References vcsn::zip_sequences< Sequences >::begin_().
|
inlineprivate |
Definition at line 225 of file zip.hh.
References vcsn::zip_sequences< Sequences >::begin(), vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::end(), and vcsn::zip_sequences< Sequences >::sequences_.
Referenced by vcsn::zip_sequences< Sequences >::begin(), and vcsn::zip_sequences_padded< ZipSequences >::begin().
|
inline |
Definition at line 178 of file zip.hh.
References vcsn::zip_sequences< Sequences >::cbegin_().
Referenced by vcsn::zip_sequences< Sequences >::begin(), vcsn::zip_sequences_padded< ZipSequences >::begin(), vcsn::zip_sequences< Sequences >::cbegin_(), and vcsn::zip_sequences_padded< ZipSequences >::cbegin_().
|
inlineprivate |
Definition at line 210 of file zip.hh.
References vcsn::zip_sequences< Sequences >::cbegin(), vcsn::zip_sequences< Sequences >::cend(), and vcsn::zip_sequences< Sequences >::sequences_.
Referenced by vcsn::zip_sequences< Sequences >::cbegin(), and vcsn::zip_sequences_padded< ZipSequences >::cbegin().
|
inline |
Definition at line 183 of file zip.hh.
References vcsn::zip_sequences< Sequences >::cend_().
Referenced by vcsn::zip_sequences< Sequences >::cbegin_(), vcsn::zip_sequences_padded< ZipSequences >::cbegin_(), vcsn::zip_sequences< Sequences >::cend_(), vcsn::zip_sequences_padded< ZipSequences >::cend_(), vcsn::zip_sequences< Sequences >::end(), and vcsn::zip_sequences_padded< ZipSequences >::end().
|
inlineprivate |
Definition at line 217 of file zip.hh.
References vcsn::zip_sequences< Sequences >::cend(), and vcsn::zip_sequences< Sequences >::sequences_.
Referenced by vcsn::zip_sequences< Sequences >::cend(), and vcsn::zip_sequences_padded< ZipSequences >::cend().
|
inline |
Definition at line 193 of file zip.hh.
References vcsn::zip_sequences< Sequences >::cend().
|
inline |
Definition at line 203 of file zip.hh.
References vcsn::zip_sequences< Sequences >::end_().
|
inlineprivate |
Definition at line 232 of file zip.hh.
References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::end(), and vcsn::zip_sequences< Sequences >::sequences_.
Referenced by vcsn::zip_sequences< Sequences >::end(), and vcsn::zip_sequences_padded< ZipSequences >::end().
|
private |
The sequences we iterate upon.
Definition at line 239 of file zip.hh.
Referenced by vcsn::zip_sequences< Sequences >::begin_(), vcsn::zip_sequences_padded< ZipSequences >::begin_(), vcsn::zip_sequences< Sequences >::cbegin_(), vcsn::zip_sequences_padded< ZipSequences >::cbegin_(), vcsn::zip_sequences< Sequences >::cend_(), vcsn::zip_sequences_padded< ZipSequences >::cend_(), vcsn::zip_sequences< Sequences >::end_(), and vcsn::zip_sequences_padded< ZipSequences >::end_().
|
static |