19 #ifndef LLVM_ADT_ITERATOR_RANGE_H 20 #define LLVM_ADT_ITERATOR_RANGE_H 31 template <
typename IteratorT>
33 IteratorT begin_iterator, end_iterator;
38 template <
typename Container>
41 : begin_iterator(c.begin()), end_iterator(c.end()) {}
43 : begin_iterator(std::move(begin_iterator)),
44 end_iterator(std::move(end_iterator)) {}
46 IteratorT begin()
const {
return begin_iterator; }
47 IteratorT end()
const {
return end_iterator; }
64 return make_range(std::next(begin(t), n), end(t));
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
Definition: iterator_range.h:54
A range adaptor for a pair of iterators.
Definition: iterator_range.h:32