cómo proporcionar una propiedad vertex_index para mi gráfico

Como mi gráfico usa setS para vertex, debo proporcionar un mapa de propiedades vertex_index para mi gráfico, o dar un argumento vertex_id explícito a write_graphviz, para poder usar write_graphviz. My graph is defined as: typedef adjacency_list Graph; Donde NodeData y EdgeData son estructuras. ¿Puede darme un ejemplo muy simple de cómo proporcionar un mapa de propiedades vertex_index para mi gráfico? o cómo dar un argumento vertex_id explícito a write_graphviz?

Gracias

La solución es solo para: 1) Decir que el descriptor de vértice se define como typedef Graph::vertex_descriptor NodeID; entonces necesita definir un mapa de propiedades asociativas de la siguiente manera:

 typedef map IndexMap; IndexMap mapIndex; associative_property_map propmapIndex(mapIndex); 

2) En el código, indexe todos los vértices de la siguiente manera:

 int i=0; BGL_FORALL_VERTICES(v, g, Graph) { put(propmapIndex, v, i++); } 

3) Ahora puede usar graphvize para drow / visualizar su gráfica de la siguiente manera:

 ofstream myfile; myfile.open ("example.txt"); write_graphviz(myfile, g, default_writer(), default_writer(), default_writer(), propmapIndex); myfile.close(); 

El gráfico se describirá en example.txt, puede visualizarlo usando graphviz.