Sto usando boost::graph
e ho due vertex_descriptor
s. Qual è il modo più veloce per ottenere il vantaggio tra di loro, senza iterare su tutti i bordi?Ottieni un vantaggio specifico con boost :: grafico
21
A
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
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.
In realtà, dovrebbe essere 'boost :: edge (u, v, g) .second', se si desidera il valore' bool' ... – tnull
@tnull poiché so che il limite esiste e sto cercando il bordo stesso, 'first' è l'attributo che mi serve. –