void find_leaves( InputIterator begin, InputIterator end, OutputIterator out ) { bfs_down( begin, end, boost::make_function_output_iterator(make_output_if_leaf(out)) ); }
void pre_eval_graph( reporter_t reporter, MergeGraph& graph, Environment environment ) { bfs_down( graph.roots().first, graph.roots().second, boost::make_function_output_iterator( pre_eval_graph_helper(reporter, environment) ) ); }
void to_dot( std::ostream& out, Iterator begin, Iterator end, dot_node_decorator_t node_decorator ) { boost::function_output_iterator<Impl::dot_node_outputer> out_iter(Impl::dot_node_outputer(out, node_decorator)); out << "digraph G {" << std::endl; out << " ordering = out;" << std::endl; bfs_down(begin, end, out_iter); out << "}" << std::endl; }