On Thursday, 16 November 2017 at 18:34:54 UTC, Steven Schveighoffer wrote:
On 11/16/17 8:10 AM, ag0aep6g wrote:
On 11/16/2017 09:03 AM, Tony wrote:
However, when I use the class with foreach, the opindex gets called to create a dynamic array, rather than use the empty(),front(),popFront() routines. I would prefer it use the three methods, rather than create a dynamic array.

https://issues.dlang.org/show_bug.cgi?id=14619

I took a shot at fixing. Way more complex than I realized.


I was initially miffed that I had added empty(), popFront() and pop() and they weren't being used, but I don't have a problem with using [] instead of them. Maybe call it a feature and document it.

But I do have a complaint about the methods empty(), popFront() and pop(). I think they should have a special syntax or name to reflect that they are not general purpose methods. __empty() or preferably __forEachDone(). empty() is typically used to say if a container has no data, not if you are at the end of external foreach loop processing. pop() and popFront() also would typically have different meanings with certain containers and their names don't reflect that they have a special "external foreach loop" purpose.

Reply via email to