Shout out to D at cppcon, when talkign about ranges.

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Fri Oct 9 23:52:22 PDT 2015


On 10/10/15 12:58 AM, Eric Niebler wrote:
> Trying to express algorithms without any clear abstraction of "position
> within range" (independent of ranges) is hard and awkward, and
> occasionally causes algorithms to be less efficient.

I agree that ranges are a weaker basis than iterators. But it's not 
necessarily that a notion of position is the only way out.

Ranges can be made as strong a basis by adding the O(1) primitives 
r1.before(r2) and r1.after(r2) that return the prefix/suffix following 
r2 within r1. With those I hope to be able to show easily that 
algorithms needing "iterator in the middle" can be redone.

I think I need to sit down and define these primitives (albeit they 
aren't used that frequently) and use them in a few fundamental 
algorithms to just close the matter once and for all.


Andrei



More information about the Digitalmars-d mailing list