waLBerla 7.2
Loading...
Searching...
No Matches
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()
 
 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
 

Private Attributes

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

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: