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.