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.

Reply via email to