chunkBy array at compile time

H. S. Teoh hsteoh at quickfur.ath.cx
Wed Dec 19 17:20:55 UTC 2018


On Wed, Dec 19, 2018 at 10:38:06AM -0500, Steven Schveighoffer via Digitalmars-d-learn wrote:
[...]
> Looking at the code for chunkBy, it seems to me that the
> implementation is quite complex for what in my head should be a simple
> wrapper...
[...]

It was originally a simple wrapper when I first submitted it, but Andrei
requested to use RefCounted in order to work around the subrange
traversal problem. I.e., in the original implementation, the underlying
range traversed twice, once when each subrange is consumed, and once
when you call popFront on the outer range. Having RefCounted allows us
to retain a reference to the original range so that subranges will also
advance the underlying range as seen by the outer range, thereby
eliminating calling popFront on the underlying range twice per element.


T

-- 
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird. -- D. Knuth


More information about the Digitalmars-d-learn mailing list