Reference documentation for deal.II version 9.2.0
\(\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\}}\)
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 113 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 130 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 146 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 159 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 173 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 190 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 203 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 217 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 234 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 248 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 263 of file synchronous_iterator.h.