2011-01-19 8 views
21

मैं boost::graph का उपयोग कर रहा हूं और मेरे पास दो vertex_descriptor एस हैं। सभी किनारों पर फिर से घुमाने के बिना किनारे को पाने का सबसे तेज़ तरीका क्या है?बूस्ट के साथ विशिष्ट किनारे प्राप्त करें :: ग्राफ

उत्तर

39

ठीक है, मैंने इसे पाया। boost::edge(u,v,g)pair<edge_descriptor, bool> देता है जहां bool है कि किनारे मौजूद है या नहीं। मेरे मामले में तो मैं यह करता है पता है, तो मैं अभिव्यक्ति का उपयोग:

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

असल में, यह 'बूस्ट :: एज (यू, वी, जी) .second' होना चाहिए, यदि आप' बूल' मान चाहते हैं ... – tnull

+1

@tnull क्योंकि मुझे पता है कि किनारे मौजूद है और मैं देख रहा हूं किनारे स्वयं, 'पहली' विशेषता है जो मुझे चाहिए। –

5

वहाँ भी boost/graph/lookup_edge.hpp में एक समारोह boost::lookup_edge() है; यह कार्य edge() या out_edges() या आपके द्वारा उपयोग किए जा रहे विशेष ग्राफ प्रकार के आधार पर एक खोज को प्रेषित करता है।

संबंधित मुद्दे