16 #ifndef dealii_iterator_range_h 17 #define dealii_iterator_range_h 20 #include <deal.II/base/config.h> 22 #include <deal.II/base/template_constraints.h> 27 DEAL_II_NAMESPACE_OPEN
31 template <
typename Iterator>
127 template <
typename Iterator>
198 template <
typename Iterator>
273 using value_type = Iterator;
274 using difference_type =
typename Iterator::difference_type;
275 using pointer = Iterator *;
276 using reference = Iterator &;
293 template <
typename BaseIterator>
295 make_iterator_range(
const BaseIterator & begin,
296 const typename identity<BaseIterator>::type &end)
306 template <
typename Iterator>
309 : element_of_iterator_collection(iterator)
314 template <
typename Iterator>
318 return element_of_iterator_collection;
323 template <
typename Iterator>
327 return &element_of_iterator_collection;
332 template <
typename Iterator>
336 ++element_of_iterator_collection;
342 template <
typename Iterator>
347 ++element_of_iterator_collection;
353 template <
typename Iterator>
363 template <
typename Iterator>
366 return element_of_iterator_collection;
371 template <
typename Iterator>
379 template <
typename Iterator>
387 template <
typename Iterator>
395 template <
typename Iterator>
403 template <
typename Iterator>
411 template <
typename Iterator>
419 DEAL_II_NAMESPACE_CLOSE
std::forward_iterator_tag iterator_category
IteratorOverIterators begin()
const BaseIterator & operator*() const
const IteratorOverIterators it_begin
IteratorOverIterators & operator++()
const BaseIterator * operator->() const
bool operator!=(const IteratorOverIterators &i_o_i) const
IteratorOverIterators(const BaseIterator &iterator)
BaseIterator element_of_iterator_collection
::IteratorOverIterators< Iterator > IteratorOverIterators
IteratorOverIterators end() const