fibers and ranges: what's wrong here?
Tobias Pankrath via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Dec 13 04:34:10 PST 2014
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.
More information about the Digitalmars-d-learn
mailing list