[LLVMdev] Some enhancements to ImmutableSet and FoldingSet
Ted Kremenek
kremenek at apple.com
Wed Feb 11 12:24:48 PST 2009
Actually, neither of these methods are needed for ImmutableSet.
ImmutableSet already has an 'isEmpty()' method and I have never really
seen a case where "size()" needs to be explicitly calculated. If you
need size() itself, however, this seems like a perfectly valid addition.
On Feb 11, 2009, at 10:57 AM, Ted Kremenek wrote:
>
> 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/5b2664b8/attachment.html>
More information about the llvm-dev
mailing list