blob: 8d91401930c2bedc973b0ce3c44990fd040f10d2 [file] [log] [blame]
@safe unittest
{
import std.range.interfaces;
import std.algorithm.iteration : map;
import std.range : iota;
void useRange(InputRange!int range) {
// Function body.
}
// Create a range type.
auto squares = map!"a * a"(iota(10));
// Wrap it in an interface.
auto squaresWrapped = inputRangeObject(squares);
// Use it.
useRange(squaresWrapped);
}
@safe unittest
{
import std.range.interfaces;
import std.array;
auto app = appender!(uint[])();
auto appWrapped = outputRangeObject!(uint, uint[])(app);
static assert(is(typeof(appWrapped) : OutputRange!(uint[])));
static assert(is(typeof(appWrapped) : OutputRange!(uint)));
}