16 #ifndef dealii_synchronous_iterator_h 17 #define dealii_synchronous_iterator_h 51 template <
typename Iterators>
80 template <
typename Iterators>
87 template <
typename Iterators>
95 template <
typename Iterators>
111 template <
typename Iterators>
113 operator<(const SynchronousIterators<Iterators> &a,
116 return std::get<0>(*a) < std::get<0>(*b);
128 template <
typename Iterators>
133 Assert(std::distance(std::get<0>(*b), std::get<0>(*a)) >= 0,
135 return std::distance(std::get<0>(*b), std::get<0>(*a));
144 template <
typename I1,
typename I2>
146 advance(std::tuple<I1, I2> &t,
const unsigned int n)
157 template <
typename I1,
typename I2,
typename I3>
159 advance(std::tuple<I1, I2, I3> &t,
const unsigned int n)
171 template <
typename I1,
typename I2,
typename I3,
typename I4>
173 advance(std::tuple<I1, I2, I3, I4> &t,
const unsigned int n)
188 template <
typename I1,
typename I2>
201 template <
typename I1,
typename I2,
typename I3>
215 template <
typename I1,
typename I2,
typename I3,
typename I4>
232 template <
typename Iterators>
246 template <
typename Iterators>
261 template <
typename Iterators>
266 return (std::get<0>(*a) != std::get<0>(*b));
std::size_t operator-(const SynchronousIterators< Iterators > &a, const SynchronousIterators< Iterators > &b)
void advance_by_one(std::tuple< I1, I2 > &t)
#define Assert(cond, exc)
#define DEAL_II_NAMESPACE_CLOSE
SynchronousIterators(const Iterators &i)
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
SynchronousIterators< Iterators > operator+(const SynchronousIterators< Iterators > &a, const std::size_t n)
bool operator!=(const SynchronousIterators< Iterators > &a, const SynchronousIterators< Iterators > &b)
SynchronousIterators< Iterators > operator++(SynchronousIterators< Iterators > &a)
void advance(std::tuple< I1, I2 > &t, const unsigned int n)
#define DEAL_II_NAMESPACE_OPEN
const Iterators & operator*() const
void advance(std::tuple< I1, I2 > &t, const unsigned int n)
static ::ExceptionBase & ExcInternalError()