On 12/12/17 6:43 PM, Luís Marques wrote:
On Tuesday, 12 December 2017 at 23:25:19 UTC, Neia Neutuladh wrote:
Have you noticed performance problems or implementation side
irregularities?
Well, I was referring to things like in front() having to use code such
as `if(!inited) ...; return value`, which was discussed here in the
forum in the past.
The proper place to generate the first element, IMO, is in the constructor.
The performance side hasn't been too bad for me personally (so far...),
but I started this thread exactly because I wanted to know if I could
move some code to the empty() method of the range, as that would be more
convenient and performant. So you could say I mostly noticed the
"regularity" part.
Note that there is no compile-time test to figure out when you perform
your operations, so you can cheat if you want.
I don't think there's a requirement for empty not to do any work, it
just has to return the same value each time.
-Steve