add a new map
[oota-llvm.git] / include / llvm / Function.h
index 05ac47ddd67d7652fc637c2f5fd742f48b04ef18..773f69bc8dc93531b1714f2132511d191409ca39 100644 (file)
@@ -54,13 +54,11 @@ public:
   // BasicBlock iterators...
   typedef BasicBlockListType::iterator iterator;
   typedef BasicBlockListType::const_iterator const_iterator;
-  typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-  typedef std::reverse_iterator<iterator>             reverse_iterator;
 
-  typedef ArgumentListType::iterator aiterator;
-  typedef ArgumentListType::const_iterator const_aiterator;
-  typedef std::reverse_iterator<const_aiterator> const_reverse_aiterator;
-  typedef std::reverse_iterator<aiterator>             reverse_aiterator;
+  typedef ArgumentListType::iterator arg_iterator;
+  typedef ArgumentListType::const_iterator const_arg_iterator;
+  typedef arg_iterator aiterator; // legacy, deprecated
+  typedef const_arg_iterator const_aiterator; // legacy, deprecated
 
 private:
   // Important things that make up a function!
@@ -172,11 +170,6 @@ public:
   iterator                end  ()       { return BasicBlocks.end();   }
   const_iterator          end  () const { return BasicBlocks.end();   }
 
-  reverse_iterator       rbegin()       { return BasicBlocks.rbegin(); }
-  const_reverse_iterator rbegin() const { return BasicBlocks.rbegin(); }
-  reverse_iterator       rend  ()       { return BasicBlocks.rend();   }
-  const_reverse_iterator rend  () const { return BasicBlocks.rend();   }
-
   size_t                   size() const { return BasicBlocks.size();  }
   bool                    empty() const { return BasicBlocks.empty(); }
   const BasicBlock       &front() const { return BasicBlocks.front(); }
@@ -187,22 +180,24 @@ public:
   //===--------------------------------------------------------------------===//
   // Argument iterator forwarding functions
   //
-  aiterator                abegin()       { return ArgumentList.begin(); }
-  const_aiterator          abegin() const { return ArgumentList.begin(); }
-  aiterator                aend  ()       { return ArgumentList.end();   }
-  const_aiterator          aend  () const { return ArgumentList.end();   }
-
-  reverse_aiterator       arbegin()       { return ArgumentList.rbegin(); }
-  const_reverse_aiterator arbegin() const { return ArgumentList.rbegin(); }
-  reverse_aiterator       arend  ()       { return ArgumentList.rend();   }
-  const_reverse_aiterator arend  () const { return ArgumentList.rend();   }
-
-  size_t                    asize() const { return ArgumentList.size();  }
-  bool                     aempty() const { return ArgumentList.empty(); }
-  const Argument          &afront() const { return ArgumentList.front(); }
-        Argument          &afront()       { return ArgumentList.front(); }
-  const Argument           &aback() const { return ArgumentList.back();  }
-        Argument           &aback()       { return ArgumentList.back();  }
+  arg_iterator                arg_begin()       { return ArgumentList.begin(); }
+  const_arg_iterator          arg_begin() const { return ArgumentList.begin(); }
+  arg_iterator                arg_end  ()       { return ArgumentList.end();   }
+  const_arg_iterator          arg_end  () const { return ArgumentList.end();   }
+
+  size_t                      arg_size () const { return ArgumentList.size();  }
+  bool                        arg_empty() const { return ArgumentList.empty(); }
+
+  //===--------------------------------------------------------------------===//
+  // Argument iterator forwarding functions (legacy, deprecated, will be removed)
+  //
+  arg_iterator                abegin()       { return ArgumentList.begin(); }
+  const_arg_iterator          abegin() const { return ArgumentList.begin(); }
+  arg_iterator                aend  ()       { return ArgumentList.end();   }
+  const_arg_iterator          aend  () const { return ArgumentList.end();   }
+
+  size_t                       asize() const { return ArgumentList.size();  }
+  bool                        aempty() const { return ArgumentList.empty(); }
 
   virtual void print(std::ostream &OS) const { print(OS, 0); }
   void print(std::ostream &OS, AssemblyAnnotationWriter *AAW) const;