From da5eb715509685f4a5cfdf6cd781827e72199af6 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Thu, 12 Feb 2009 05:17:02 +0000 Subject: [PATCH] Add method 'isSingleton()' to ImmutableSet. This returns true if the set contains exactly one element. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64359 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/ImmutableSet.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/llvm/ADT/ImmutableSet.h b/include/llvm/ADT/ImmutableSet.h index 03360359ea0..5d2969f45ae 100644 --- a/include/llvm/ADT/ImmutableSet.h +++ b/include/llvm/ADT/ImmutableSet.h @@ -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 void foreach(Callback& C) { if (Root) Root->foreach(C); }