walberla::ConcatIterator< T > Class Template Reference

#include <ConcatIterator.h>

Public Types

using iterator_category = std::input_iterator_tag
 
using value_type = typename T::value_type
 
using difference_type = typename T::difference_type
 
using pointer = typename T::pointer
 
using reference = typename T::reference
 

Public Member Functions

 ConcatIterator ()
 default constructed iterator points to end() More...
 
 ConcatIterator (const T &beginFirst, const T &endFirst, const T &beginSecond, const T &endSecond)
 
ConcatIteratoroperator++ ()
 
ConcatIterator operator++ (int)
 
bool operator== (const ConcatIterator &rhs) const
 
bool operator!= (const ConcatIterator &rhs) const
 
T::reference operator* ()
 
T::pointer operator-> ()
 

Private Member Functions

void checkStateAndAdapt ()
 checks if iterator has to jump to second range More...
 

Private Attributes

it_
 current position More...
 
const T itEndFirst_
 end of first range More...
 
const T itBeginSecond_
 begin of second range More...
 
const T itEndSecond_
 end of second range More...
 
bool first_
 located in first range? More...
 
bool ended_
 end reached? More...
 

Member Typedef Documentation

◆ difference_type

template<typename T >
using walberla::ConcatIterator< T >::difference_type = typename T::difference_type

◆ iterator_category

template<typename T >
using walberla::ConcatIterator< T >::iterator_category = std::input_iterator_tag

◆ pointer

template<typename T >
using walberla::ConcatIterator< T >::pointer = typename T::pointer

◆ reference

template<typename T >
using walberla::ConcatIterator< T >::reference = typename T::reference

◆ value_type

template<typename T >
using walberla::ConcatIterator< T >::value_type = typename T::value_type

Constructor & Destructor Documentation

◆ ConcatIterator() [1/2]

template<typename T >
walberla::ConcatIterator< T >::ConcatIterator ( )
inline

default constructed iterator points to end()

◆ ConcatIterator() [2/2]

template<typename T >
walberla::ConcatIterator< T >::ConcatIterator ( const T &  beginFirst,
const T &  endFirst,
const T &  beginSecond,
const T &  endSecond 
)
inline

Member Function Documentation

◆ checkStateAndAdapt()

template<typename T >
void walberla::ConcatIterator< T >::checkStateAndAdapt ( )
inlineprivate

checks if iterator has to jump to second range

◆ operator!=()

template<typename T >
bool walberla::ConcatIterator< T >::operator!= ( const ConcatIterator< T > &  rhs) const
inline

◆ operator*()

template<typename T >
T::reference walberla::ConcatIterator< T >::operator* ( )
inline

◆ operator++() [1/2]

template<typename T >
ConcatIterator& walberla::ConcatIterator< T >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T >
ConcatIterator walberla::ConcatIterator< T >::operator++ ( int  )
inline

◆ operator->()

template<typename T >
T::pointer walberla::ConcatIterator< T >::operator-> ( )
inline

◆ operator==()

template<typename T >
bool walberla::ConcatIterator< T >::operator== ( const ConcatIterator< T > &  rhs) const
inline

Member Data Documentation

◆ ended_

template<typename T >
bool walberla::ConcatIterator< T >::ended_
private

end reached?

◆ first_

template<typename T >
bool walberla::ConcatIterator< T >::first_
private

located in first range?

◆ it_

template<typename T >
T walberla::ConcatIterator< T >::it_
private

current position

◆ itBeginSecond_

template<typename T >
const T walberla::ConcatIterator< T >::itBeginSecond_
private

begin of second range

◆ itEndFirst_

template<typename T >
const T walberla::ConcatIterator< T >::itEndFirst_
private

end of first range

◆ itEndSecond_

template<typename T >
const T walberla::ConcatIterator< T >::itEndSecond_
private

end of second range


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