Reference documentation for deal.II version 9.4.1
\(\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 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 >
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 114 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 132 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 148 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 161 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 175 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 192 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 205 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 219 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 236 of file synchronous_iterator.h.

◆ operator++()

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

Advance the elements of this iterator by 1.

Definition at line 250 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 265 of file synchronous_iterator.h.