ADT: Implement MutableArrayRef::reverse_iterator
[oota-llvm.git] / include / llvm / ADT / ArrayRef.h
index 61467e9b21c326f94c98032cc2302761838aceb6..e5562c368309836ab9889c0c755ef3f7dc1d8346 100644 (file)
@@ -185,6 +185,8 @@ namespace llvm {
   public:
     typedef T *iterator;
 
+    typedef std::reverse_iterator<iterator> reverse_iterator;
+
     /// Construct an empty MutableArrayRef.
     /*implicit*/ MutableArrayRef() : ArrayRef<T>() {}
 
@@ -219,6 +221,9 @@ namespace llvm {
     iterator begin() const { return data(); }
     iterator end() const { return data() + this->size(); }
 
+    reverse_iterator rbegin() const { return reverse_iterator(end()); }
+    reverse_iterator rend() const { return reverse_iterator(begin()); }
+
     /// front - Get the first element.
     T &front() const {
       assert(!this->empty());