
Boost Users : 
Subject: Re: [Boostusers] BGL: interrupting breadth_first_search() at a certain distance/predicate?
From: David Abrahams (dave_at_[hidden])
Date: 20100802 11:19:38
On Aug 2, 2010, at 10:46 AM, Anders Wallin wrote:
> Hi all,
>
> I have a graph where I start at a certain vertex and want to find the
> next undiscovered vertex at a maximum distance of 5 or so from the
> source vertex.
> Now I am running breadth_first_search() using a record_distances()
> visitor and I get the distances to all other vertices (say 10 000 of
> them) in my graph. This makes my algorithm slow, since I only need to
> know about vertices at a max distance of 56, not all of them.
> Is there a way of interrupting the algorithm when a certain predicate
> function supplied by me evaluates to true? (e.g. max distance reached,
> or a new interesting/valid vertex found, etc)
For this particular job I think I'd build a wrapper around your graph that presents the nearby subgraph. I think there may already be a filtered_graph adaptor you can leverage in the BGL.
 David Abrahams BoostPro Computing http://boostpro.com
Boostusers list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net