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)))
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.Code:
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;
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.
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!Code:
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);