alid.cached

Implements a range algorithm that caches element values. It turns InputRanges into ForwardRanges as well as providing opIndex.

Members

Functions

cached
auto cached(R range, size_t heapBlockCapacity)
auto cached(R range, ubyte[N][M] buffers)

A _range algorithm that caches the elements of a _range by evaluating them only once.

Structs

CachedRange
struct CachedRange(EC)

Represents a ForwardRange (and a RandomAccessRange when possible) over the cached elements of a source range. Provides the range algorithm length() only if the source range does so.

Stats
struct Stats

Statistics about the operation of ElementCache as well as the underlying CircularBlocks that it uses for element storage.

Meta