Downgrading ranges
Lars T. Kyllingstad
public at kyllingen.net
Mon Jun 10 02:31:29 PDT 2013
On Sunday, 9 June 2013 at 12:19:47 UTC, Lars T. Kyllingstad wrote:
> A recent pull request discussion got me thinking: The ability
> to "downgrade" a range to a less featureful one -- wrapping a
> random access range in an input range, say -- can be very
> useful sometimes, particularly for testing. The pull request
> in question was Walter's LZ77 module,
> [...]
One solution which has come up in the aforementioned pull request
discussion (thanks to Daniel Murphy) is to downcast the result of
std.range.inputRangeObject() to the desired interface.
Intf!(ElementEncodingType!R) downgrade(alias Intf, R)(R rng)
{
return inputRangeObject(rng);
}
auto someInputRange = downgrade!InputRange(someRandAccRange);
Maybe this is good enough for testing purposes?
More information about the Digitalmars-d
mailing list