[LLVMdev] Some enhancements to ImmutableSet and FoldingSet

Ted Kremenek kremenek at apple.com
Wed Feb 11 10:57:27 PST 2009


On Feb 11, 2009, at 10:54 AM, Bill Wendling wrote:

> On Wed, Feb 11, 2009 at 10:36 AM, Ben Laurie <benl at google.com> wrote:
>> I needed these for some work I'm doing in clang...
>>
> Yes sir! At least this message was informative. One thing:
>
> +  int size() const {
> +    int n = 0;
> +    for(iterator i = begin() ; i != end() ; ++n, ++i)
> +      ;
> +    return n;
> +  }
> +  bool empty() const {
> +    return size() == 0;
> +  }
>
> empty() here isn't a constant-time method. Can you make it's time
> complexity O(1)?
>
> -bw

Bill's right; empty can be made constant time.  e.g.,  "return Root ==  
0";
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090211/c57eec74/attachment.html>


More information about the llvm-dev mailing list