Add isPositive for symmetry with isNegative.
[oota-llvm.git] / include / llvm / ADT / SmallSet.h
index d78813c6151172e8f36de26c7d76157f23a1a7c2..30e8ee544fea3a6cb8c253ad0b126725f30f7df7 100644 (file)
@@ -15,6 +15,7 @@
 #define LLVM_ADT_SMALLSET_H
 
 #include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/SmallPtrSet.h"
 #include <set>
 
 namespace llvm {
@@ -77,7 +78,7 @@ public:
   
   bool erase(const T &V) {
     if (!isSmall())
-      return Set.erase(V).second;
+      return Set.erase(V);
     for (mutable_iterator I = Vector.begin(), E = Vector.end(); I != E; ++I)
       if (*I == V) {
         Vector.erase(I);
@@ -101,6 +102,10 @@ private:
   }
 };
 
+/// If this set is of pointer values, transparently switch over to using
+/// SmallPtrSet for performance.
+template <typename PointeeType, unsigned N>
+class SmallSet<PointeeType*, N> : public SmallPtrSet<PointeeType*, N> {};
 
 } // end namespace llvm