diff options
| author | Reid Spencer <rspencer@reidspencer.com> | 2004-09-11 04:25:58 +0000 |
|---|---|---|
| committer | Reid Spencer <rspencer@reidspencer.com> | 2004-09-11 04:25:58 +0000 |
| commit | 9cfa81662f6ffb808fa77b458cb421bda615e48f (patch) | |
| tree | 51a594dfe2d98e489dbafec9e4d4f206cfcccf6e /llvm | |
| parent | 1b34fde1cc94fa7c046ac5f39cd939f547621ded (diff) | |
| download | bcm5719-llvm-9cfa81662f6ffb808fa77b458cb421bda615e48f.tar.gz bcm5719-llvm-9cfa81662f6ffb808fa77b458cb421bda615e48f.zip | |
Implement the remove method for deleting entries from the SetVector.
llvm-svn: 16283
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/ADT/SetVector.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/include/llvm/ADT/SetVector.h b/llvm/include/llvm/ADT/SetVector.h index 6135e532861..8d7382e0563 100644 --- a/llvm/include/llvm/ADT/SetVector.h +++ b/llvm/include/llvm/ADT/SetVector.h @@ -20,6 +20,7 @@ #include <set> #include <vector> #include <cassert> +#include <algorithm> namespace llvm { @@ -108,6 +109,16 @@ public: vector_.push_back(*Start); } + /// @brief Remove an item from the set vector. + void remove(const value_type& X) { + if (0 < set_.erase(X)) { + iterator I = find(vector_.begin(),vector_.end(),X); + if (I != vector_.end()) + vector_.erase(I); + } + } + + /// @returns 0 if the element is not in the SetVector, 1 if it is. /// @brief Count the number of elements of a given key in the SetVector. size_type count(const key_type &key) const { |

