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