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; }
const_iterator end(StringRef path)
Get end iterator over path.
const_iterator begin(StringRef path)
Get begin iterator over path.
iterator_range< T > make_range(T x, T y)
Convenience function for iterating over sub-ranges.
iterator_range(Container &&c)
A range adaptor for a pair of iterators.
iterator_range(IteratorT begin_iterator, IteratorT end_iterator)
iterator_range< decltype(begin(std::declval< T >)))> drop_begin(T &&t, int n)