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.

Reply via email to