summaryrefslogtreecommitdiff
path: root/include/llvm/ValueHolder.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-06-08 20:52:54 +0000
committerChris Lattner <sabre@nondot.org>2001-06-08 20:52:54 +0000
commit586bd03dc17985c78bd87b22a96c5aafa9a17ec7 (patch)
tree15ac504d8cba286d52e3af0cd02193f4bc70c671 /include/llvm/ValueHolder.h
parent84608e43b25a99862f424487c97b1f9842a7d6e5 (diff)
downloadllvm-586bd03dc17985c78bd87b22a96c5aafa9a17ec7.tar.gz
llvm-586bd03dc17985c78bd87b22a96c5aafa9a17ec7.tar.bz2
llvm-586bd03dc17985c78bd87b22a96c5aafa9a17ec7.tar.xz
Include support for reverse iteration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ValueHolder.h')
-rw-r--r--include/llvm/ValueHolder.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/llvm/ValueHolder.h b/include/llvm/ValueHolder.h
index 8e18fc7ffd..774fe1ee87 100644
--- a/include/llvm/ValueHolder.h
+++ b/include/llvm/ValueHolder.h
@@ -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();