On Friday, 11 September 2015 at 13:09:33 UTC, Laeeth Isharc wrote:
obviously it's trivial to do with a little aa cache. and I
know I can memoize a function, and turn the memoized version
into an infinite range. but suppose I have a lazy function
that returns a finite range, and its expensive to calculate.
can I use Phobos to produce a memoized range? So it will
calculate on access to an element if it needs to, but will
return the cached value if it has been calculated before.
Is your range random access?
If not, `cache` should do the trick.
[1] http://dlang.org/phobos/std_algorithm_iteration.html#cache