16 #ifndef dealii_synchronous_iterator_h 17 #define dealii_synchronous_iterator_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/exceptions.h> 27 DEAL_II_NAMESPACE_OPEN
51 template <
typename Iterators>
80 template <
typename Iterators>
90 template <
typename Iterators>
100 template <
typename Iterators>
118 template <
typename Iterators>
121 operator< (const SynchronousIterators<Iterators> &a,
124 return std::get<0>(*a) < std::get<0>(*b);
136 template <
typename Iterators>
142 Assert (std::distance (std::get<0>(*b),
143 std::get<0>(*a)) >= 0,
145 return std::distance (std::get<0>(*b),
155 template <
typename I1,
typename I2>
158 const unsigned int n)
160 std::advance (std::get<0>(t), n);
161 std::advance (std::get<1>(t), n);
169 template <
typename I1,
typename I2,
typename I3>
172 const unsigned int n)
174 std::advance (std::get<0>(t), n);
175 std::advance (std::get<1>(t), n);
176 std::advance (std::get<2>(t), n);
184 template <
typename I1,
typename I2,
185 typename I3,
typename I4>
188 const unsigned int n)
190 std::advance (std::get<0>(t), n);
191 std::advance (std::get<1>(t), n);
192 std::advance (std::get<2>(t), n);
193 std::advance (std::get<3>(t), n);
203 template <
typename I1,
typename I2>
216 template <
typename I1,
typename I2,
typename I3>
230 template <
typename I1,
typename I2,
231 typename I3,
typename I4>
248 template <
typename Iterators>
264 template <
typename Iterators>
280 template <
typename Iterators>
286 return (std::get<0>(*a) !=
290 DEAL_II_NAMESPACE_CLOSE
void advance(std::tuple< I1, I2, I3 > &t, const unsigned int n)
void advance_by_one(std::tuple< I1, I2, I3 > &t)
SymmetricTensor< rank_, dim, typename ProductType< Number, OtherNumber >::type > operator+(const SymmetricTensor< rank_, dim, Number > &left, const SymmetricTensor< rank_, dim, OtherNumber > &right)
void advance(std::tuple< I1, I2, I3, I4 > &t, const unsigned int n)
SymmetricTensor< rank_, dim, typename ProductType< Number, OtherNumber >::type > operator-(const SymmetricTensor< rank_, dim, Number > &left, const SymmetricTensor< rank_, dim, OtherNumber > &right)
void advance_by_one(std::tuple< I1, I2 > &t)
#define Assert(cond, exc)
SynchronousIterators(const Iterators &i)
void advance_by_one(std::tuple< I1, I2, I3, I4 > &t)
SynchronousIterators< Iterators > operator++(SynchronousIterators< Iterators > &a)
bool operator!=(const AlignedVector< T > &lhs, const AlignedVector< T > &rhs)
const Iterators & operator*() const
void advance(std::tuple< I1, I2 > &t, const unsigned int n)
static ::ExceptionBase & ExcInternalError()