16#ifndef dealii_synchronous_iterator_h
17#define dealii_synchronous_iterator_h
49template <
typename Iterators>
80template <
typename Iterators>
87template <
typename Iterators>
88inline const Iterators &
96template <
typename Iterators>
113template <
typename Iterators>
118 return std::get<0>(*a) < std::get<0>(*b);
130template <
typename Iterators>
135 Assert(std::distance(std::get<0>(*b), std::get<0>(*a)) >= 0,
137 return std::distance(std::get<0>(*b), std::get<0>(*a));
146template <
typename I1,
typename I2>
148advance(std::tuple<I1, I2> &t,
const unsigned int n)
150 std::advance(std::get<0>(t), n);
151 std::advance(std::get<1>(t), n);
159template <
typename I1,
typename I2,
typename I3>
161advance(std::tuple<I1, I2, I3> &t,
const unsigned int n)
163 std::advance(std::get<0>(t), n);
164 std::advance(std::get<1>(t), n);
165 std::advance(std::get<2>(t), n);
173template <
typename I1,
typename I2,
typename I3,
typename I4>
175advance(std::tuple<I1, I2, I3, I4> &t,
const unsigned int n)
177 std::advance(std::get<0>(t), n);
178 std::advance(std::get<1>(t), n);
179 std::advance(std::get<2>(t), n);
180 std::advance(std::get<3>(t), n);
190template <
typename I1,
typename I2>
203template <
typename I1,
typename I2,
typename I3>
217template <
typename I1,
typename I2,
typename I3,
typename I4>
234template <
typename Iterators>
248template <
typename Iterators>
263template <
typename Iterators>
268 return (std::get<0>(*a) != std::get<0>(*b));
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define Assert(cond, exc)
static ::ExceptionBase & ExcInternalError()
void advance_by_one(std::tuple< I1, I2, I3 > &t)
bool operator!=(const SynchronousIterators< Iterators > &a, const SynchronousIterators< Iterators > &b)
SynchronousIterators< Iterators > operator++(SynchronousIterators< Iterators > &a)
void advance(std::tuple< I1, I2, I3, I4 > &t, const unsigned int n)
SynchronousIterators< Iterators > operator+(const SynchronousIterators< Iterators > &a, const std::size_t n)
std::size_t operator-(const SynchronousIterators< Iterators > &a, const SynchronousIterators< Iterators > &b)
void advance(std::tuple< I1, I2, I3 > &t, const unsigned int n)
SynchronousIterators(const Iterators &i)
void advance(std::tuple< I1, I2 > &t, const unsigned int n)
void advance_by_one(std::tuple< I1, I2 > &t)
const Iterators & operator*() const
void advance_by_one(std::tuple< I1, I2, I3, I4 > &t)
bool operator<(const SynchronousIterators< Iterators > &a, const SynchronousIterators< Iterators > &b)
void advance(std::tuple< I1, I2 > &t, const unsigned int n)
void advance_by_one(std::tuple< I1, I2 > &t)