15#ifndef dealii_synchronous_iterator_h
16#define dealii_synchronous_iterator_h
48template <
typename Iterators>
79template <
typename Iterators>
86template <
typename Iterators>
87inline const Iterators &
95template <
typename Iterators>
112template <
typename Iterators>
117 return std::get<0>(*a) < std::get<0>(*b);
129template <
typename Iterators>
134 Assert(std::distance(std::get<0>(*b), std::get<0>(*a)) >= 0,
136 return std::distance(std::get<0>(*b), std::get<0>(*a));
145template <
typename I1,
typename I2>
147advance(std::tuple<I1, I2> &t,
const unsigned int n)
149 std::advance(std::get<0>(t), n);
150 std::advance(std::get<1>(t), n);
158template <
typename I1,
typename I2,
typename I3>
160advance(std::tuple<I1, I2, I3> &t,
const unsigned int n)
162 std::advance(std::get<0>(t), n);
163 std::advance(std::get<1>(t), n);
164 std::advance(std::get<2>(t), n);
172template <
typename I1,
typename I2,
typename I3,
typename I4>
174advance(std::tuple<I1, I2, I3, I4> &t,
const unsigned int n)
176 std::advance(std::get<0>(t), n);
177 std::advance(std::get<1>(t), n);
178 std::advance(std::get<2>(t), n);
179 std::advance(std::get<3>(t), n);
189template <
typename I1,
typename I2>
202template <
typename I1,
typename I2,
typename I3>
216template <
typename I1,
typename I2,
typename I3,
typename I4>
233template <
typename Iterators>
247template <
typename Iterators>
262template <
typename Iterators>
267 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)