ArrayRef reverse iterators.
authorAndrew Trick <atrick@apple.com>
Fri, 25 Jan 2013 06:33:52 +0000 (06:33 +0000)
committerAndrew Trick <atrick@apple.com>
Fri, 25 Jan 2013 06:33:52 +0000 (06:33 +0000)
llvm-svn: 173424

llvm/include/llvm/ADT/ArrayRef.h

index a707a0d..c555c1c 100644 (file)
@@ -33,6 +33,8 @@ namespace llvm {
     typedef const T *const_iterator;
     typedef size_t size_type;
 
+    typedef std::reverse_iterator<iterator> reverse_iterator;
+
   private:
     /// The start of the array, in an external buffer.
     const T *Data;
@@ -84,6 +86,9 @@ namespace llvm {
     iterator begin() const { return Data; }
     iterator end() const { return Data + Length; }
 
+    reverse_iterator rbegin() const { return reverse_iterator(end()); }
+    reverse_iterator rend() const { return reverse_iterator(begin()); }
+
     /// empty - Check if the array is empty.
     bool empty() const { return Length == 0; }