2011-01-19 1 views

risposta

39

Ok, l'ho scoperto. boost::edge(u,v,g) restituisce pair<edge_descriptor, bool> dove lo bool è se il bordo esiste. Quindi, nel mio caso so che lo fa, per cui uso l'espressione:

boost::edge(u,v,g).first 
+0

In realtà, dovrebbe essere 'boost :: edge (u, v, g) .second', se si desidera il valore' bool' ... – tnull

+1

@tnull poiché so che il limite esiste e sto cercando il bordo stesso, 'first' è l'attributo che mi serve. –

5

C'è anche una funzione di boost::lookup_edge() in boost/graph/lookup_edge.hpp; tale funzione viene inviata a edge() o out_edges() e una ricerca basata sul tipo di grafico specifico che si sta utilizzando.