Ich schreibe eine Funktion, die einige Berechnungen auf Graphen mit dem BGL durchführt. Die Art der Berechnung hängt davon ab, ob der Graph ausgerichtet ist oder nicht, aber ich möchte vermeiden, zwei verschiedene Funktionen zu schreiben, eine für ungerichtete Graphen und eine für gerichtete Graphen. Beiden Arten von Graphen definiert werden alsBoost Graph Library: Überprüfen, ob ein Diagramm gerichtet ist oder nicht
using namespace boost;
// Undirected
typedef adjacency_list<listS, vecS, undirectedS> UGraph;
// Directed
typedef adjacency_list<listS, vecS, bidirectionalS> DGraph;
folgt Gibt es eine Möglichkeit zu überprüfen, ob ein Graph gerichtet ist oder nicht aus dem Diagrammobjekt selbst? Mit anderen Worten, gibt es eine Möglichkeit, aus dem Graphenobjekt die verwendete "directedness" -Eigenschaft zu kennen (d. H. Ungerichtet S, Bidirektional oder gerichtet S)?