in include/WeakTopologicalOrdering.h [225:238]
void visit_depth_first(std::function<void(const NodeId&)> f) {
std::function<void(const WtoComponent<NodeId>&)> visit_component;
visit_component = [&visit_component, &f](const WtoComponent<NodeId>& v) {
f(v.head_node());
if (v.is_scc()) {
for (const auto& inner : v) {
visit_component(inner);
}
}
};
for (const auto& v : *this) {
visit_component(v);
}
}