protocol for using InputRanges

Steven Schveighoffer schveiguy at yahoo.com
Wed Mar 26 08:37:38 PDT 2014


On Wed, 26 Mar 2014 11:09:04 -0400, Regan Heath <regan at netmail.co.nz>  
wrote:

> On Wed, 26 Mar 2014 12:30:53 -0000, Steven Schveighoffer  
> <schveiguy at yahoo.com> wrote:
>
>> Gah, I didn't cut out the right rules. I meant the two rules that empty  
>> must be called before others. Those are not necessary.
>
> I see.  I was thinking we ought to make empty mandatory to give more  
> guaranteed structure for range implementors, so lazy initialisation can  
> be done in one place only, etc etc.

Yes, but when you know that empty is going to return false, there isn't  
any logical reason to call it. It is an awkward requirement.

I had the same thinking as you, why pay for an extra check for all 3  
calls? But there was already evidence that people were avoiding empty.

-Steve


More information about the Digitalmars-d mailing list