for x in obj
# blah
end
will iterate if you've defined start, next, and done functions for which the
first argument has typeof(obj). In your case you'd presumably use a node as
obj, and the traversal would be recursively over all children of that node.
If you want a specific tree example, check out ProfileView.jl/src/tree.jl.
Best,
--Tim
On Sunday, July 27, 2014 05:13:39 AM Ben Ward wrote:
> Hi,
>
> I've been writing a type for recursive tree structures, and several types
> that traverse that tree in various manners like breadth first or depth
> first. They have their own methods for getting the current tree node,
> moving to the next node, whether an end has been reached and so on. The
> contain fields for the nodes several steps ahead, those past etc. I
> wondered if I might make it so as these types might easier be used in loops
> by giving them the iterator protocol methods? I've not seen how to define
> custom operators, is it as simple as defining start next and done? How is
> the current value gotten? I guess its returned by next().
>
> Thanks,
> Ben.