Add non-member begin and end so that drop_begin works on iterator_range.
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 11 Aug 2015 16:12:56 +0000 (16:12 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 11 Aug 2015 16:12:56 +0000 (16:12 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244620 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/iterator_range.h

index 3dd679bd9b79ee87a71bf543361b66eb3db9031f..9ab1c9645b3de655c6821a532a5c68aad4dcda39 100644 (file)
@@ -47,6 +47,16 @@ public:
   IteratorT end() const { return end_iterator; }
 };
 
+template <typename IteratorT>
+IteratorT begin(const iterator_range<IteratorT> &R) {
+  return R.begin();
+}
+
+template <typename IteratorT>
+IteratorT end(const iterator_range<IteratorT> &R) {
+  return R.end();
+}
+
 /// \brief Convenience function for iterating over sub-ranges.
 ///
 /// This provides a bit of syntactic sugar to make using sub-ranges