Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends
utilmm::iterator_sequence< It1, It2 > Class Template Reference

#include <iterator_sequence.hh>

List of all members.

Public Member Functions

 iterator_sequence (It1 first, It1 first_end, It2 second_begin, It2 second)
 iterator_sequence ()

Private Types

typedef iterator_sequence< It1,
It2 > 
Self

Private Member Functions

void advance (typename Self::difference_type i)
void decrement ()
Self::reference dereference () const
Self::difference_type distance_to (Self x) const
bool equal (Self x) const
void increment ()

Private Attributes

It1 m_first
It1 m_first_end
It2 m_second
It2 m_second_begin

Friends

class boost::iterator_core_access

Detailed Description

template<typename It1, typename It2>
class utilmm::iterator_sequence< It1, It2 >

The iterator_sequence template takes two iterator ranges and iterates in the two ranges as if they were a single sequence. The only constraint is that both iterator types have the same value_type.

Definition at line 14 of file iterator_sequence.hh.


Member Typedef Documentation

template<typename It1 , typename It2 >
typedef iterator_sequence<It1, It2> utilmm::iterator_sequence< It1, It2 >::Self [private]

Definition at line 21 of file iterator_sequence.hh.


Constructor & Destructor Documentation

template<typename It1 , typename It2 >
utilmm::iterator_sequence< It1, It2 >::iterator_sequence ( It1  first,
It1  first_end,
It2  second_begin,
It2  second 
) [inline]

Builds a new sequence Note that for an iterator sequence (fb, fe) + (sb, se),

  • the begin iterator is i_s(fb, fe, sb, sb)
  • the end iterator is i_s(fe, fe, se, se)
Parameters:
firstthe position in the first range
first_endthe end of the first range
second_beginthe beginning of the second range
secondthe position in the second range

Definition at line 36 of file iterator_sequence.hh.

template<typename It1 , typename It2 >
utilmm::iterator_sequence< It1, It2 >::iterator_sequence ( ) [inline]

Definition at line 41 of file iterator_sequence.hh.


Member Function Documentation

template<typename It1 , typename It2 >
void utilmm::iterator_sequence< It1, It2 >::advance ( typename Self::difference_type  i) [inline, private]

Definition at line 72 of file iterator_sequence.hh.

template<typename It1 , typename It2 >
void utilmm::iterator_sequence< It1, It2 >::decrement ( ) [inline, private]

Definition at line 65 of file iterator_sequence.hh.

template<typename It1 , typename It2 >
Self::reference utilmm::iterator_sequence< It1, It2 >::dereference ( ) const [inline, private]

Definition at line 49 of file iterator_sequence.hh.

template<typename It1 , typename It2 >
Self::difference_type utilmm::iterator_sequence< It1, It2 >::distance_to ( Self  x) const [inline, private]

Definition at line 98 of file iterator_sequence.hh.

template<typename It1 , typename It2 >
bool utilmm::iterator_sequence< It1, It2 >::equal ( Self  x) const [inline, private]

Definition at line 56 of file iterator_sequence.hh.

template<typename It1 , typename It2 >
void utilmm::iterator_sequence< It1, It2 >::increment ( ) [inline, private]

Definition at line 58 of file iterator_sequence.hh.


Friends And Related Function Documentation

template<typename It1 , typename It2 >
friend class boost::iterator_core_access [friend]

Definition at line 44 of file iterator_sequence.hh.


Member Data Documentation

template<typename It1 , typename It2 >
It1 utilmm::iterator_sequence< It1, It2 >::m_first [private]

Definition at line 46 of file iterator_sequence.hh.

template<typename It1 , typename It2 >
It1 utilmm::iterator_sequence< It1, It2 >::m_first_end [private]

Definition at line 46 of file iterator_sequence.hh.

template<typename It1 , typename It2 >
It2 utilmm::iterator_sequence< It1, It2 >::m_second [private]

Definition at line 47 of file iterator_sequence.hh.

template<typename It1 , typename It2 >
It2 utilmm::iterator_sequence< It1, It2 >::m_second_begin [private]

Definition at line 47 of file iterator_sequence.hh.


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


utilmm
Author(s): Sylvain Joyeux/sylvain.joyeux@m4x.org
autogenerated on Thu Jan 2 2014 11:38:31