From 5fcaf3ed141a3f0246e41f45077dbb7d7d0b11d3 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 4 Feb 2007 00:30:40 +0000 Subject: [PATCH] Make SmallSetVector useful git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33854 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/SetVector.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/include/llvm/ADT/SetVector.h b/include/llvm/ADT/SetVector.h index ec3fd536b31..76755340258 100644 --- a/include/llvm/ADT/SetVector.h +++ b/include/llvm/ADT/SetVector.h @@ -32,7 +32,7 @@ namespace llvm { /// order of insertion. /// @brief A vector that has set insertion semantics. template , - typename Set = std::set > + typename Set = SmallSet > class SetVector { public: typedef T value_type; @@ -99,7 +99,7 @@ public: /// @returns true iff the element was inserted into the SetVector. /// @brief Insert a new element into the SetVector. bool insert(const value_type &X) { - bool result = set_.insert(X).second; + bool result = set_.insert(X); if (result) vector_.push_back(X); return result; @@ -109,13 +109,13 @@ public: template void insert(It Start, It End) { for (; Start != End; ++Start) - if (set_.insert(*Start).second) + if (set_.insert(*Start)) vector_.push_back(*Start); } /// @brief Remove an item from the set vector. void remove(const value_type& X) { - if (0 < set_.erase(X)) { + if (set_.erase(X)) { typename vector_type::iterator I = std::find(vector_.begin(), vector_.end(), X); assert(I != vector_.end() && "Corrupted SetVector instances!"); @@ -152,6 +152,7 @@ private: /// a certain size. template class SmallSetVector : public SetVector, SmallSet > { +public: SmallSetVector() {} /// @brief Initialize a SmallSetVector with a range of elements -- 2.34.1