Add method 'isSingleton()' to ImmutableSet. This returns true if the set contains...
authorTed Kremenek <kremenek@apple.com>
Thu, 12 Feb 2009 05:17:02 +0000 (05:17 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 12 Feb 2009 05:17:02 +0000 (05:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64359 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/ImmutableSet.h

index 03360359ea0ac638040c6c3cbd25f9a9e78d98f7..5d2969f45ae657f2ebb3c42cde2d3ef5ac94b316 100644 (file)
@@ -61,7 +61,6 @@ public:
   ///  NULL if there is no right subtree.
   ImutAVLTree* getRight() const { return Right; }
 
-
   /// getHeight - Returns the height of the tree.  A tree with no subtrees
   ///  has a height of 1.
   unsigned getHeight() const { return Height; }
@@ -1001,6 +1000,10 @@ public:
 
   /// isEmpty - Return true if the set contains no elements.
   bool isEmpty() const { return !Root; }
+  
+  /// isSingleton - Return true if the set contains exactly one element.
+  ///   This method runs in constant time.
+  bool isSingleton() const { return getHeight() == 1; }
 
   template <typename Callback>
   void foreach(Callback& C) { if (Root) Root->foreach(C); }