onjour !!! j'utilise BOOST pour un probléme de graphe mining.
le programme complet se trouve ici : http://pastebin.com/8NejJvcx

Je voulais faire une fonction qui a comme arguments deux graphes et qui retourne un vector , ce vector contient la difference entre les aretes des deux graphes.
voila ce que j'ai fais jusqu’à maintenant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
std::vector<edge_iter> edgesdiff(Graph const& g1,Graph const& g2){
 
std::vector<edge_iter> v1;
std::vector<edge_iter> v2;
std::vector<edge_iter> result;
 
typedef graph_traits<Graph>::edge_iterator edge_iter;
std::pair<edge_iter, edge_iter> ep;
 
edge_iter ei, ei_end;
for (tie(ei, ei_end) = edges(g1); ei != ei_end; ++ei){v1.push_back(ei);}
for (tie(ei, ei_end) = edges(g2); ei != ei_end; ++ei){v2.push_back(ei);}
 
/* d i f f e r e n c e*/
return result;
}
il manque la partie /* d i f f e r e n c e*/ ou je veux faire la difference entre v1 et v2 et l'inserer dans result.
Par difference je veux dire les elements qui sont dans v1 et ne sont pas dans v2 et vice-versa.

Aidez moi a compléter le programme svp!