On Friday, 13 December 2013 at 14:52:32 UTC, Marco Leise wrote:
Am Thu, 12 Dec 2013 08:43:35 -0800
schrieb "H. S. Teoh" <hst...@quickfur.ath.cx>:

I do this with my own ranges sometimes. Sometimes, it's more performant to precompute the value of .front and store it (as .front), and have .popFront compute the next value, than to have .front compute the value every time. AFAICT, this is perfectly fine and should work with Phobos
seamlessly. The power of ducktyping!


T

Most non-trivial ranges do the actual work in `popFront()' and
return a cached value from `front'. It has been argued as a
design quirk, that this in general leads to:

Really? I've never seen that particular pattern. I always just see the initial element being computed when the range is initialized, e.g. in a constructor or a constructor helper function.

Reply via email to