On Saturday, 13 December 2014 at 12:26:49 UTC, zeljkog wrote:
On 13.12.14 13:01, zeljkog wrote:
void main() {
auto tt = Tree(5, [Tree(7,[Tree(11), Tree(4)]), Tree(10)]);
auto tr1 = TreeRange(tt);
foreach(v; tr1){
writef("%2d, ", v);
}
writeln();
for(auto r = TreeRange(tt); !r.empty; r.popFront())
writef("%2d, ", r.front);
writeln();
}
Sorry, this works:
void main() {
auto tt = Tree(5, [Tree(7,[Tree(11), Tree(4)]), Tree(10)]);
foreach(v; TreeRange(tt)){
writef("%2d, ", v);
}
writeln();
for(auto r = TreeRange(tt); !r.empty; r.popFront())
writef("%2d, ", r.front);
writeln();
}
I needed this:
struct TreeRange{
this (this){ throw new Exception("TreeRange is
noncopyable!"); }
...
}
Or use class :)
Have a look at @disable.