poll for properties
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Wed Jul 29 07:37:51 PDT 2009
Michel Fortin wrote:
> On 2009-07-28 19:59:30 -0400, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> said:
>
>> The way Phobos does things is the following:
>>
>> a) You must define .empty which completes in O(1).
>>
>> b) If you can define .length with O(1), define it, otherwise don't.
>>
>> Then Phobos defines walkLength() on a best-effort basis which is
>> guaranteed to finish in O(n) but may finish faster. It uses .length if
>> defined, or else it just iterates the range to exhaustion.
>
> This looks like a good approach. I'm just not too thrilled by the name
> "walkLength". But perhaps I'm the only one.
STL defines distance() but people tend to forget it's O(n). So I chose a
name that makes it rather obvious it's O(n).
Andrei
More information about the Digitalmars-d
mailing list