Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::ZipIterator< IT1, IT2 > Class Template Reference

Simple before-C++20 version for std::ranges::zip_view. More...

#include <ogdf/cluster/sync_plan/basic/Iterators.h>

Public Types

using difference_type = std::ptrdiff_t
 
using iterator_category = std::input_iterator_tag
 
using pointer = value_type *
 
using reference = value_type &
 
using value_type = typename std::pair< typename IT1::value_type, typename IT2::value_type >
 

Public Member Functions

 ZipIterator ()
 
 ZipIterator (const IT1 &mIter1, const IT2 &mIter2)
 
bool checkOnlyOneEnded (const IT1 &mEnd1, const IT2 &mEnd2)
 
bool operator!= (const ZipIterator< IT1, IT2 > &rhs) const
 
value_type operator* ()
 
ZipIterator< IT1, IT2 > & operator++ ()
 Increment operator (prefix, returns result). More...
 
ZipIterator< IT1, IT2 > operator++ (int)
 Increment operator (postfix, returns previous value). More...
 
bool operator== (const ZipIterator< IT1, IT2 > &rhs) const
 

Private Attributes

IT1 m_iter1
 
IT2 m_iter2
 

Detailed Description

template<typename IT1, typename IT2>
class ogdf::ZipIterator< IT1, IT2 >

Simple before-C++20 version for std::ranges::zip_view.

Definition at line 59 of file Iterators.h.

Member Typedef Documentation

◆ difference_type

template<typename IT1 , typename IT2 >
using ogdf::ZipIterator< IT1, IT2 >::difference_type = std::ptrdiff_t

Definition at line 67 of file Iterators.h.

◆ iterator_category

template<typename IT1 , typename IT2 >
using ogdf::ZipIterator< IT1, IT2 >::iterator_category = std::input_iterator_tag

Definition at line 65 of file Iterators.h.

◆ pointer

template<typename IT1 , typename IT2 >
using ogdf::ZipIterator< IT1, IT2 >::pointer = value_type*

Definition at line 68 of file Iterators.h.

◆ reference

template<typename IT1 , typename IT2 >
using ogdf::ZipIterator< IT1, IT2 >::reference = value_type&

Definition at line 69 of file Iterators.h.

◆ value_type

template<typename IT1 , typename IT2 >
using ogdf::ZipIterator< IT1, IT2 >::value_type = typename std::pair<typename IT1::value_type, typename IT2::value_type>

Definition at line 66 of file Iterators.h.

Constructor & Destructor Documentation

◆ ZipIterator() [1/2]

template<typename IT1 , typename IT2 >
ogdf::ZipIterator< IT1, IT2 >::ZipIterator ( )
inlineexplicit

Definition at line 71 of file Iterators.h.

◆ ZipIterator() [2/2]

template<typename IT1 , typename IT2 >
ogdf::ZipIterator< IT1, IT2 >::ZipIterator ( const IT1 &  mIter1,
const IT2 &  mIter2 
)
inlineexplicit

Definition at line 73 of file Iterators.h.

Member Function Documentation

◆ checkOnlyOneEnded()

template<typename IT1 , typename IT2 >
bool ogdf::ZipIterator< IT1, IT2 >::checkOnlyOneEnded ( const IT1 &  mEnd1,
const IT2 &  mEnd2 
)
inline

Definition at line 84 of file Iterators.h.

◆ operator!=()

template<typename IT1 , typename IT2 >
bool ogdf::ZipIterator< IT1, IT2 >::operator!= ( const ZipIterator< IT1, IT2 > &  rhs) const
inline

Definition at line 80 of file Iterators.h.

◆ operator*()

template<typename IT1 , typename IT2 >
value_type ogdf::ZipIterator< IT1, IT2 >::operator* ( )
inline

Definition at line 82 of file Iterators.h.

◆ operator++() [1/2]

template<typename IT1 , typename IT2 >
ZipIterator<IT1, IT2>& ogdf::ZipIterator< IT1, IT2 >::operator++ ( )
inline

Increment operator (prefix, returns result).

Definition at line 91 of file Iterators.h.

◆ operator++() [2/2]

template<typename IT1 , typename IT2 >
ZipIterator<IT1, IT2> ogdf::ZipIterator< IT1, IT2 >::operator++ ( int  )
inline

Increment operator (postfix, returns previous value).

Definition at line 98 of file Iterators.h.

◆ operator==()

template<typename IT1 , typename IT2 >
bool ogdf::ZipIterator< IT1, IT2 >::operator== ( const ZipIterator< IT1, IT2 > &  rhs) const
inline

Definition at line 76 of file Iterators.h.

Member Data Documentation

◆ m_iter1

template<typename IT1 , typename IT2 >
IT1 ogdf::ZipIterator< IT1, IT2 >::m_iter1
private

Definition at line 60 of file Iterators.h.

◆ m_iter2

template<typename IT1 , typename IT2 >
IT2 ogdf::ZipIterator< IT1, IT2 >::m_iter2
private

Definition at line 61 of file Iterators.h.


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