Verwendung von boost::graph mit gebündelten Eigenschaften. Ich möchte in der Lage sein, Suchen mit einer Vielzahl von verschiedenen möglichen Kantengewichtung Schemata laufen. Ich möchte nicht eine zusätzliche Klasse für die gebündelten Eigenschaften erstellen, wenn möglich, und übergeben in verschiedenen Gewicht-Maps je nach Art der Suche ohne einen neuen Graphen zu erstellen oder alle vorhandenen Eigenschaften im Graphen zu ändern.
Kann ich manuell eine property_map für edge_weight_t erstellen? Hier ist, was ich bis jetzt habe:
typedef boost::property_map<SSPSGraph_t, boost::edge_weight_t>::type WeightMap;
typedef boost::property<boost::edge_weight_t, float> DistanceProperty;
Und ich würde gerne einfach tun können
WeightMap distances;
edge_descriptor_t e = some_edge_or_another;
float d=some_derived_distance_value;
Und weisen Sie den Abständen[e] die entsprechenden Werte zu.
distances[e]= ?
Oder muss ich nur aufbrechen und eine neue Struktur für die gebündelten Eigenschaften erstellen - etwas, das ich versucht habe, zu vermeiden - und erstellen Sie die Gewichtskarte aus, dass? Neu in boost::graph; nicht anzunehmen, dass ich nicht etwas ganz dumm hier tun.