Vcsn  2.3
Be Rational
vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType > Struct Template Reference

#include <zip.hh>

Inheritance diagram for vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >:
Collaboration diagram for vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >:

Public Types

using super_t = typename zip_sequences_t::template zip_iterator< ValueType, IteratorsType >
 
using iterators_type = IteratorsType
 Underlying iterators. More...
 

Public Member Functions

 zip_iterator (const iterators_type &is, const iterators_type &ends, const padding_t &pad)
 
template<typename OtherValue , typename OtherIterators >
 zip_iterator (zip_iterator< OtherValue, OtherIterators > const &that, const padding_t &pad)
 
value_type operator* () const
 
zip_iteratoroperator++ ()
 Advance to next position. More...
 

Private Member Functions

bool next_ ()
 Move to the next position. More...
 
template<std::size_t... I>
bool next_ (seq< I... >)
 
template<std::size_t... I>
value_type dereference_ (seq< I... >) const
 Tuple of values. More...
 

Private Attributes

padding_t pad_
 

Detailed Description

template<typename ZipSequences>
template<typename ValueType, typename IteratorsType>
struct vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >

Definition at line 287 of file zip.hh.

Member Typedef Documentation

template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
using vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::iterators_type = IteratorsType

Underlying iterators.

Definition at line 296 of file zip.hh.

template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
using vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::super_t = typename zip_sequences_t::template zip_iterator<ValueType, IteratorsType>

Definition at line 293 of file zip.hh.

Constructor & Destructor Documentation

template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::zip_iterator ( const iterators_type is,
const iterators_type ends,
const padding_t pad 
)
inline

Definition at line 298 of file zip.hh.

template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
template<typename OtherValue , typename OtherIterators >
vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::zip_iterator ( zip_iterator< OtherValue, OtherIterators > const &  that,
const padding_t pad 
)
inline

Definition at line 305 of file zip.hh.

Member Function Documentation

template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
template<std::size_t... I>
value_type vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::dereference_ ( seq< I... >  ) const
inlineprivate

Tuple of values.

Definition at line 352 of file zip.hh.

References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::is_.

template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
bool vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::next_ ( )
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 328 of file zip.hh.

References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::next_().

Here is the call graph for this function:

template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
template<std::size_t... I>
bool vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::next_ ( seq< I... >  )
inlineprivate
template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
value_type vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::operator* ( ) const
inline

Definition at line 310 of file zip.hh.

References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::dereference_().

Here is the call graph for this function:

template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
zip_iterator& vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::operator++ ( )
inline

Advance to next position.

Definition at line 316 of file zip.hh.

References vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::done_(), and vcsn::zip_sequences< Sequences >::zip_iterator< ValueType, IteratorsType >::next_().

Here is the call graph for this function:

Member Data Documentation

template<typename ZipSequences >
template<typename ValueType, typename IteratorsType>
padding_t vcsn::zip_sequences_padded< ZipSequences >::zip_iterator< ValueType, IteratorsType >::pad_
private

Definition at line 359 of file zip.hh.


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