diff options
author | Chris Lattner <sabre@nondot.org> | 2001-11-10 06:47:45 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-11-10 06:47:45 +0000 |
commit | 32a966742286343dce2786a7dce4d3964f7a3a2c (patch) | |
tree | fbcf45a1f1153dec84a7e2f2ca583c8a5d7d0bff /include | |
parent | 21447223892055631e6a5735a3c687337ff8a73b (diff) | |
download | external_llvm-32a966742286343dce2786a7dce4d3964f7a3a2c.zip external_llvm-32a966742286343dce2786a7dce4d3964f7a3a2c.tar.gz external_llvm-32a966742286343dce2786a7dce4d3964f7a3a2c.tar.bz2 |
Refactor some functionality to expose more useful stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1240 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/ValueHolder.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/include/llvm/ValueHolder.h b/include/llvm/ValueHolder.h index 77bae5d..ef4ed19 100644 --- a/include/llvm/ValueHolder.h +++ b/include/llvm/ValueHolder.h @@ -81,13 +81,6 @@ public: 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(); - delete remove(--it); // Delete all instructions... - } - } - // ValueHolder::remove(iterator &) this removes the element at the location // specified by the iterator, and leaves the iterator pointing to the element // that used to follow the element deleted. @@ -97,6 +90,19 @@ public: void remove(ValueSubclass *D); // Defined in ValueHolderImpl.h ValueSubclass *pop_back(); // Defined in ValueHolderImpl.h + // delete_span - Remove the elements from begin to end, deleting them as we + // go. This leaves the iterator pointing to the element that used to be end. + // + iterator delete_span(iterator begin, iterator end) { + while (end != begin) + delete remove(--end); + return end; + } + + void delete_all() { // Delete all removes and deletes all elements + delete_span(begin(), end()); + } + void push_front(ValueSubclass *Inst); // Defined in ValueHolderImpl.h void push_back(ValueSubclass *Inst); // Defined in ValueHolderImpl.h |