Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::zip_sequences< Sequences > Struct Template Reference

#include <zip.hh>

Collaboration diagram for vcsn::zip_sequences< Sequences >:

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...
 

Detailed Description

template<typename... Sequences>
struct vcsn::zip_sequences< Sequences >

Definition at line 13 of file zip.hh.

Member Typedef Documentation

template<typename... Sequences>
using vcsn::zip_sequences< Sequences >::const_iterator = zip_iterator<const value_type, const_iterators_t>

Const iterator.

Definition at line 155 of file zip.hh.

template<typename... Sequences>
using vcsn::zip_sequences< Sequences >::const_iterators_t = std::tuple<typename seq_t<Sequences>::const_iterator...>

Tuple of const_iterators.

Definition at line 46 of file zip.hh.

template<typename... Sequences>
using vcsn::zip_sequences< Sequences >::indices_t = vcsn::detail::make_index_sequence<sizeof...(Sequences)>

Index sequence for our sequences.

Definition at line 26 of file zip.hh.

template<typename... Sequences>
using vcsn::zip_sequences< Sequences >::iterator = zip_iterator<value_type, iterators_t>

Mutable iterator.

Definition at line 152 of file zip.hh.

template<typename... Sequences>
using vcsn::zip_sequences< Sequences >::iterators_t = std::tuple<typename seq_t<Sequences>::iterator...>

Tuple of iterators.

Definition at line 50 of file zip.hh.

template<typename... Sequences>
template<std::size_t... I>
using vcsn::zip_sequences< Sequences >::seq = vcsn::detail::index_sequence<I...>

Type of index sequences.

Definition at line 20 of file zip.hh.

template<typename... Sequences>
template<typename Seq >
using vcsn::zip_sequences< Sequences >::seq_t = typename std::remove_reference<Seq>::type

The type of the underlying sequences, without reference.

Definition at line 30 of file zip.hh.

template<typename... Sequences>
using vcsn::zip_sequences< Sequences >::sequences_t = std::tuple<Sequences...>

Type of the tuple of all the maps.

Definition at line 16 of file zip.hh.

template<typename... Sequences>
using vcsn::zip_sequences< Sequences >::value_type = std::tuple<typename seq_t<Sequences>::value_type...>

The type of the members.

Definition at line 34 of file zip.hh.

Constructor & Destructor Documentation

template<typename... Sequences>
vcsn::zip_sequences< Sequences >::zip_sequences ( const sequences_t sequences)
inline

Definition at line 36 of file zip.hh.

template<typename... Sequences>
vcsn::zip_sequences< Sequences >::zip_sequences ( Sequences...  sequences)
inline

Definition at line 40 of file zip.hh.

Member Function Documentation

template<typename... Sequences>
const_iterator vcsn::zip_sequences< Sequences >::begin ( ) const
inline

Definition at line 167 of file zip.hh.

References vcsn::zip_sequences< Sequences >::cbegin().

Referenced by vcsn::zip_sequences< Sequences >::begin_().

Here is the call graph for this function:

template<typename... Sequences>
iterator vcsn::zip_sequences< Sequences >::begin ( )
inline

Definition at line 177 of file zip.hh.

References vcsn::zip_sequences< Sequences >::begin_().

Here is the call graph for this function:

template<typename... Sequences>
template<std::size_t... I>
iterator vcsn::zip_sequences< Sequences >::begin_ ( seq< I...>  )
inlineprivate

Definition at line 204 of file zip.hh.

References vcsn::zip_sequences< Sequences >::begin(), vcsn::zip_sequences< Sequences >::end(), and vcsn::zip_sequences< Sequences >::sequences_.

Referenced by vcsn::zip_sequences< Sequences >::begin().

Here is the call graph for this function:

template<typename... Sequences>
const_iterator vcsn::zip_sequences< Sequences >::cbegin ( ) const
inline

Definition at line 157 of file zip.hh.

References vcsn::zip_sequences< Sequences >::cbegin_().

Referenced by vcsn::zip_sequences< Sequences >::begin(), and vcsn::zip_sequences< Sequences >::cbegin_().

Here is the call graph for this function:

template<typename... Sequences>
template<std::size_t... I>
const_iterator vcsn::zip_sequences< Sequences >::cbegin_ ( seq< I...>  ) const
inlineprivate

Definition at line 189 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().

Here is the call graph for this function:

template<typename... Sequences>
const_iterator vcsn::zip_sequences< Sequences >::cend ( ) const
inline

Definition at line 162 of file zip.hh.

References vcsn::zip_sequences< Sequences >::cend_().

Referenced by vcsn::zip_sequences< Sequences >::cbegin_(), vcsn::zip_sequences< Sequences >::cend_(), and vcsn::zip_sequences< Sequences >::end().

Here is the call graph for this function:

template<typename... Sequences>
template<std::size_t... I>
const_iterator vcsn::zip_sequences< Sequences >::cend_ ( seq< I...>  ) const
inlineprivate

Definition at line 196 of file zip.hh.

References vcsn::zip_sequences< Sequences >::cend(), and vcsn::zip_sequences< Sequences >::sequences_.

Referenced by vcsn::zip_sequences< Sequences >::cend().

Here is the call graph for this function:

template<typename... Sequences>
const_iterator vcsn::zip_sequences< Sequences >::end ( ) const
inline

Definition at line 172 of file zip.hh.

References vcsn::zip_sequences< Sequences >::cend().

Referenced by vcsn::zip_sequences< Sequences >::begin_(), and vcsn::zip_sequences< Sequences >::end_().

Here is the call graph for this function:

template<typename... Sequences>
iterator vcsn::zip_sequences< Sequences >::end ( )
inline

Definition at line 182 of file zip.hh.

References vcsn::zip_sequences< Sequences >::end_().

Here is the call graph for this function:

template<typename... Sequences>
template<std::size_t... I>
iterator vcsn::zip_sequences< Sequences >::end_ ( seq< I...>  )
inlineprivate

Definition at line 211 of file zip.hh.

References vcsn::zip_sequences< Sequences >::end(), and vcsn::zip_sequences< Sequences >::sequences_.

Referenced by vcsn::zip_sequences< Sequences >::end().

Here is the call graph for this function:

Member Data Documentation

template<typename... Sequences>
sequences_t vcsn::zip_sequences< Sequences >::sequences_
private
template<typename... Sequences>
constexpr size_t vcsn::zip_sequences< Sequences >::size = sizeof...(Sequences)
static

Number of sequences.

Definition at line 23 of file zip.hh.


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