deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Classes | Functions
synchronous_iterator.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/exceptions.h>
#include <iterator>
#include <tuple>

Go to the source code of this file.

Classes

struct  SynchronousIterators< Iterators >
 

Functions

template<typename Iterators >
bool operator< (const SynchronousIterators< Iterators > &a, const SynchronousIterators< Iterators > &b)
 
template<typename Iterators >
std::size_t operator- (const SynchronousIterators< Iterators > &a, const SynchronousIterators< Iterators > &b)
 
template<typename I1 , typename I2 >
void advance (std::tuple< I1, I2 > &t, const unsigned int n)
 
template<typename I1 , typename I2 , typename I3 >
void advance (std::tuple< I1, I2, I3 > &t, const unsigned int n)
 
template<typename I1 , typename I2 , typename I3 , typename I4 >
void advance (std::tuple< I1, I2, I3, I4 > &t, const unsigned int n)
 
template<typename I1 , typename I2 >
void prev (std::tuple< I1, I2 > &t)
 
template<typename I1 , typename I2 , typename I3 >
void prev (std::tuple< I1, I2, I3 > &t)
 
template<typename I1 , typename I2 , typename I3 , typename I4 >
void prev (std::tuple< I1, I2, I3, I4 > &t)
 
template<typename I1 , typename I2 >
void advance_by_one (std::tuple< I1, I2 > &t)
 
template<typename I1 , typename I2 , typename I3 >
void advance_by_one (std::tuple< I1, I2, I3 > &t)
 
template<typename I1 , typename I2 , typename I3 , typename I4 >
void advance_by_one (std::tuple< I1, I2, I3, I4 > &t)
 
template<typename Iterators >
SynchronousIterators< Iterators > operator+ (const SynchronousIterators< Iterators > &a, const std::size_t n)
 
template<typename Iterators >
SynchronousIterators< Iterators > & operator++ (SynchronousIterators< Iterators > &a)
 
template<typename Iterators >
SynchronousIterators< Iterators > & operator-- (SynchronousIterators< Iterators > &a)
 
template<typename Iterators >
SynchronousIterators< Iterators > operator++ (SynchronousIterators< Iterators > &a, int)
 
template<typename Iterators >
bool operator!= (const SynchronousIterators< Iterators > &a, const SynchronousIterators< Iterators > &b)
 

Function Documentation

◆ operator<()

template<typename Iterators >
bool operator< ( const SynchronousIterators< Iterators > &  a,
const SynchronousIterators< Iterators > &  b 
)
inline

Return whether the first element of the first argument is less than the first element of the second argument. Since the objects compared march forward all elements at the same time, comparing the first element is sufficient.

Definition at line 121 of file synchronous_iterator.h.

◆ operator-()

template<typename Iterators >
std::size_t operator- ( const SynchronousIterators< Iterators > &  a,
const SynchronousIterators< Iterators > &  b 
)
inline

Return the distance between the first and the second argument. Since the objects compared march forward all elements at the same time, differencing the first element is sufficient.

Definition at line 139 of file synchronous_iterator.h.

◆ advance() [1/3]

template<typename I1 , typename I2 >
void advance ( std::tuple< I1, I2 > &  t,
const unsigned int  n 
)
inline

Advance a tuple of iterators by \(n\).

Definition at line 155 of file synchronous_iterator.h.

◆ advance() [2/3]

template<typename I1 , typename I2 , typename I3 >
void advance ( std::tuple< I1, I2, I3 > &  t,
const unsigned int  n 
)
inline

Advance a tuple of iterators by \(n\).

Definition at line 168 of file synchronous_iterator.h.

◆ advance() [3/3]

template<typename I1 , typename I2 , typename I3 , typename I4 >
void advance ( std::tuple< I1, I2, I3, I4 > &  t,
const unsigned int  n 
)
inline

Advance a tuple of iterators by \(n\).

Definition at line 182 of file synchronous_iterator.h.

◆ prev() [1/3]

template<typename I1 , typename I2 >
void prev ( std::tuple< I1, I2 > &  t)
inline

Reverse a tuple of iterators by 1.

Definition at line 197 of file synchronous_iterator.h.

◆ prev() [2/3]

template<typename I1 , typename I2 , typename I3 >
void prev ( std::tuple< I1, I2, I3 > &  t)
inline

Reverse a tuple of iterators by 1.

Definition at line 210 of file synchronous_iterator.h.

◆ prev() [3/3]

template<typename I1 , typename I2 , typename I3 , typename I4 >
void prev ( std::tuple< I1, I2, I3, I4 > &  t)
inline

Reverse a tuple of iterators by 1.

Definition at line 224 of file synchronous_iterator.h.

◆ advance_by_one() [1/3]

template<typename I1 , typename I2 >
void advance_by_one ( std::tuple< I1, I2 > &  t)
inline

Advance a tuple of iterators by 1.

Definition at line 239 of file synchronous_iterator.h.

◆ advance_by_one() [2/3]

template<typename I1 , typename I2 , typename I3 >
void advance_by_one ( std::tuple< I1, I2, I3 > &  t)
inline

Advance a tuple of iterators by 1.

Definition at line 252 of file synchronous_iterator.h.

◆ advance_by_one() [3/3]

template<typename I1 , typename I2 , typename I3 , typename I4 >
void advance_by_one ( std::tuple< I1, I2, I3, I4 > &  t)
inline

Advance a tuple of iterators by 1.

Definition at line 266 of file synchronous_iterator.h.

◆ operator+()

template<typename Iterators >
SynchronousIterators< Iterators > operator+ ( const SynchronousIterators< Iterators > &  a,
const std::size_t  n 
)
inline

Advance the elements of this iterator by \(n\).

Definition at line 281 of file synchronous_iterator.h.

◆ operator++() [1/2]

template<typename Iterators >
SynchronousIterators< Iterators > & operator++ ( SynchronousIterators< Iterators > &  a)
inline

Advance the elements of this iterator by 1 (pre-increment).

Definition at line 295 of file synchronous_iterator.h.

◆ operator--()

template<typename Iterators >
SynchronousIterators< Iterators > & operator-- ( SynchronousIterators< Iterators > &  a)
inline

Reverse the elements of this iterator by 1 (pre-decrement).

Definition at line 308 of file synchronous_iterator.h.

◆ operator++() [2/2]

template<typename Iterators >
SynchronousIterators< Iterators > operator++ ( SynchronousIterators< Iterators > &  a,
int   
)
inline

Advance the elements of this iterator by 1 (post-increment).

Definition at line 321 of file synchronous_iterator.h.

◆ operator!=()

template<typename Iterators >
bool operator!= ( const SynchronousIterators< Iterators > &  a,
const SynchronousIterators< Iterators > &  b 
)
inline

Compare synch iterators for inequality. Since they march in synch, comparing only the first element is sufficient.

Definition at line 336 of file synchronous_iterator.h.