digitalmars.D.learn - std.array.array extended example to supplement that in std.array
- Steve Teale (30/30) Feb 07 2010 import std.array;
import std.array; import std.range; import std.stdio; // A contrived input range struct Sir { string s; int pos; bool empty() { return pos >= s.length; } void popFront() { pos++; } int front() { return s[pos]-'0'; } } int[] da = [1,2,3,4,5]; int[5] sa = [1,2,3,4,5]; void main() { auto a1 = array(da); // dynamic array writefln("[%s]", a1); auto a2 = array(sa[]); // slice (all) of static array writefln("[%s]", a2); auto a3 = array([1,2,3,4,5][]); // ditto writefln("[%s]", a3); Sir sir; sir.s = "12345"; assert(isInputRange!(Sir)); auto a4 = array(sir); writefln("[%s]", a4); }
Feb 07 2010