summaryrefslogtreecommitdiff
path: root/include/llvm/ADT/SetVector.h
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-09-11 04:25:58 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-09-11 04:25:58 +0000
commit0bdc620c16963908d74db498f79676e558f09e82 (patch)
treedd8127b619ff6a4a8bcab8b0e175699d15a99f14 /include/llvm/ADT/SetVector.h
parent57a0efa32240ef03ea318f9ba7680fd2b8609c6e (diff)
downloadllvm-0bdc620c16963908d74db498f79676e558f09e82.tar.gz
llvm-0bdc620c16963908d74db498f79676e558f09e82.tar.bz2
llvm-0bdc620c16963908d74db498f79676e558f09e82.tar.xz
Implement the remove method for deleting entries from the SetVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16283 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT/SetVector.h')
-rw-r--r--include/llvm/ADT/SetVector.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/llvm/ADT/SetVector.h b/include/llvm/ADT/SetVector.h
index 6135e53286..8d7382e056 100644
--- a/include/llvm/ADT/SetVector.h
+++ b/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 {