У меня есть следующий буст-ориентированный граф:
boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, VertexObjectPtr, EdgeObjectPtr>
И я бы хотел перебрать его слабо связанные компоненты без необходимости делать неориентированные копии. Boost предоставляет метод для его вычисления для неориентированных графов по всем connected_components , но он действителен только для неориентированных графов. Существует также strong_components для ориентированных графов, но нет метода слабых_компонентов .
Есть ли способ получить неориентированное представление график? Будет работать пользовательский подход, основанный на DFS, но я не хотел бы писать собственный код для этого.