How do I stop the breadth-first search using Boost Graph Library when using a custom visitor?
Asked Answered
A

1

10

Say I found the node that meets my criteria and I need to stop the search.

Anthropomorphous answered 30/9, 2009 at 21:17 Comment(0)
H
10

The solution is to throw an exception of your known type - then catch it on the calling side. From the FAQ:

How do I perform an early exit from an algorithm such as BFS?

Create a visitor that throws an exception when you want to cut off the search, then put your call to breadth_first_search inside of an appropriate try/catch block. This strikes many programmers as a misuse of exceptions, however, much thought was put into the decision to have exceptions has the preferred way to exit early. See boost email discussions for more details.

Helle answered 30/9, 2009 at 21:21 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.