Include support for reverse iteration.
authorChris Lattner <sabre@nondot.org>
Fri, 8 Jun 2001 20:52:54 +0000 (20:52 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 8 Jun 2001 20:52:54 +0000 (20:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ValueHolder.h

index 8e18fc7ffdaafe4876a90ac8f29adf379295ef08..774fe1ee870cc7d3b126cb31ac88a844df486642 100644 (file)
@@ -56,14 +56,22 @@ public:
   // sub-Definition iterator code
   //===--------------------------------------------------------------------===//
   // 
-  typedef vector<ValueSubclass*>::iterator       iterator;
-  typedef vector<ValueSubclass*>::const_iterator const_iterator;
+  typedef vector<ValueSubclass*>::iterator               iterator;
+  typedef vector<ValueSubclass*>::const_iterator   const_iterator;
+  typedef reverse_iterator<const_iterator> const_reverse_iterator;
+  typedef reverse_iterator<iterator>             reverse_iterator;
+
 
   inline iterator       begin()       { return ValueList.begin(); }
   inline const_iterator begin() const { return ValueList.begin(); }
   inline iterator       end()         { return ValueList.end();   }
   inline const_iterator end()   const { return ValueList.end();   }
 
+  inline reverse_iterator rbegin() { return ValueList.rbegin(); }
+  inline const_reverse_iterator rbegin() const { return ValueList.rbegin(); }
+  inline reverse_iterator rend() { return ValueList.rend(); }
+  inline const_reverse_iterator rend() const { return ValueList.rend(); }
+  
   void delete_all() {            // Delete all removes and deletes all elements
     while (!empty()) {
       iterator it = end();