// trivial strategy: // do a topological sort of the tree // build eval units in that order void EvalHeuristicTrivial::build(EvalGraphBuilder& builder) { const ComponentGraph& compgraph = builder.getComponentGraph(); ComponentContainer comps; evalheur::topologicalSortComponents(compgraph.getInternalGraph(), comps); for(ComponentContainer::const_iterator it = comps.begin(); it != comps.end(); ++it) { std::list<Component> comps, ccomps; comps.push_back(*it); EvalGraphBuilder::EvalUnit u = builder.createEvalUnit(comps, ccomps); LOG(ANALYZE,"component " << *it << " became eval unit " << u); } }