Bonjour,

je rencontre un problème pour utiliser la bibliothèque Boost.
Je veux créer une reverse edge car elle est nécessaire pour la suite de mon travail.

Mes arêtes ont des propriétés imbriquées:
reverse_edge (edge_descriptor, capacité résiduelle (int, capacité(int)))

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
typedef adjacency_list_traits<vecS, vecS, directedS> Traits; 
typedef property<edge_capacite_t, int> Capacite;
typedef property<edge_res_capacite_t, int, Capacite> Edge;
typedef property<edge_rev_t, Traits::edge_descriptor, Edge> rEdge;
Quand je crée une arête (u->v), je défini donc sa capacité, puis sa capacité résiduelle et je n'arrive pas à utiliser le constructeur edge_descriptor.
J'ai bien compris qu'il faut trois arguments (les deux sommets puis un tag pour dire si c'est orienté ou non) mais je n'arrive pas à créer ce tag.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Capacite c(nombre);
Edge ed(nombre , c);
edge_descriptor ed_de( vertex1, vertex2, ); //quel est le 3ème argument à mettre pour avoir une arete orientée???
rEdge(vertex[label+img.right()], vertex[label],ed);
Je sais que cet argumetn est du type const void* mais ça va pas plus loin que ça... Si quelqu'un peut me sortir de ce pétrin, ça serait vraiment génial!