Awali
Another Weighted Automata library
Data Structures | Public Types | Public Member Functions | Static Public Attributes
awali::sttc::internal::zip_sequences< Sequences > Struct Template Reference

#include <zip.hh>

Data Structures

struct  zip_iterator
 Composite iterator. More...
 

Public Types

using const_iterator = zip_iterator< const value_type, const_iterators_t >
 Const iterator. More...
 
using const_iterators_t = std::tuple< typename seq_t< Sequences >::const_iterator... >
 Tuple of const_iterators. More...
 
using indices_t = awali::internal::make_index_sequence< sizeof...(Sequences)>
 Index sequence for our sequences. More...
 
using iterator = zip_iterator< value_type, iterators_t >
 Mutable iterator. More...
 
using iterators_t = std::tuple< typename seq_t< Sequences >::iterator... >
 Tuple of iterators. More...
 
template<std::size_t... I>
using seq = awali::internal::index_sequence< I... >
 Type of index sequences. More...
 
template<typename Seq >
using seq_t = typename std::remove_reference< Seq >::type
 The type of the underlying sequences, without reference. More...
 
using sequences_t = std::tuple< Sequences... >
 Type of the tuple of all the maps. More...
 
using value_type = std::tuple< typename seq_t< Sequences >::value_type... >
 The type of the members. More...
 

Public Member Functions

 zip_sequences (const sequences_t &sequences)
 
 zip_sequences (Sequences... sequences)
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
iterator end ()
 
const_iterator end () const
 

Static Public Attributes

static constexpr size_t size = sizeof...(Sequences)
 Number of sequences. More...
 

Member Typedef Documentation

◆ const_iterator

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

Const iterator.

◆ const_iterators_t

template<typename... Sequences>
using awali::sttc::internal::zip_sequences< Sequences >::const_iterators_t = std::tuple<typename seq_t<Sequences>::const_iterator...>

Tuple of const_iterators.

◆ indices_t

template<typename... Sequences>
using awali::sttc::internal::zip_sequences< Sequences >::indices_t = awali::internal::make_index_sequence<sizeof...(Sequences)>

Index sequence for our sequences.

◆ iterator

template<typename... Sequences>
using awali::sttc::internal::zip_sequences< Sequences >::iterator = zip_iterator<value_type, iterators_t>

Mutable iterator.

◆ iterators_t

template<typename... Sequences>
using awali::sttc::internal::zip_sequences< Sequences >::iterators_t = std::tuple<typename seq_t<Sequences>::iterator...>

Tuple of iterators.

◆ seq

template<typename... Sequences>
template<std::size_t... I>
using awali::sttc::internal::zip_sequences< Sequences >::seq = awali::internal::index_sequence<I...>

Type of index sequences.

◆ seq_t

template<typename... Sequences>
template<typename Seq >
using awali::sttc::internal::zip_sequences< Sequences >::seq_t = typename std::remove_reference<Seq>::type

The type of the underlying sequences, without reference.

◆ sequences_t

template<typename... Sequences>
using awali::sttc::internal::zip_sequences< Sequences >::sequences_t = std::tuple<Sequences...>

Type of the tuple of all the maps.

◆ value_type

template<typename... Sequences>
using awali::sttc::internal::zip_sequences< Sequences >::value_type = std::tuple<typename seq_t<Sequences>::value_type...>

The type of the members.

Constructor & Destructor Documentation

◆ zip_sequences() [1/2]

template<typename... Sequences>
awali::sttc::internal::zip_sequences< Sequences >::zip_sequences ( const sequences_t sequences)

◆ zip_sequences() [2/2]

template<typename... Sequences>
awali::sttc::internal::zip_sequences< Sequences >::zip_sequences ( Sequences...  sequences)

Member Function Documentation

◆ begin() [1/2]

template<typename... Sequences>
iterator awali::sttc::internal::zip_sequences< Sequences >::begin ( )

◆ begin() [2/2]

template<typename... Sequences>
const_iterator awali::sttc::internal::zip_sequences< Sequences >::begin ( ) const

◆ cbegin()

template<typename... Sequences>
const_iterator awali::sttc::internal::zip_sequences< Sequences >::cbegin ( ) const

◆ cend()

template<typename... Sequences>
const_iterator awali::sttc::internal::zip_sequences< Sequences >::cend ( ) const

◆ end() [1/2]

template<typename... Sequences>
iterator awali::sttc::internal::zip_sequences< Sequences >::end ( )

◆ end() [2/2]

template<typename... Sequences>
const_iterator awali::sttc::internal::zip_sequences< Sequences >::end ( ) const

Field Documentation

◆ size

template<typename... Sequences>
constexpr size_t awali::sttc::internal::zip_sequences< Sequences >::size = sizeof...(Sequences)
staticconstexpr

Number of sequences.


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