Boost logo

Boost Users :

Subject: Re: [Boost-users] boost graph library, default_dfs_visitor, dfs
From: Andrew Sutton (andrew.n.sutton_at_[hidden])
Date: 2009-12-16 08:52:36


> > My problem: size of the finishingOrder vector is zero outside the
> > my_visitor::finish_vertex method. I checked its size inside the
> > my_visitor::finish_vertex method and its value is increasing...
>
> All visitors have to be copy constructible and depth_first_search will
> operate on the copied object.
>

Actually, it's the fact that the visitor is copied that's causing the
problem. The visitor needs to declare
it's vector member as a reference (to a vector declared somewhere else). For
example:

struct my_visitor : default_dfs_visitor {
  my_visitor(vector<Vertex>& order)
    : finishingOrder(order)
  { }
  vector<Vertex>& finishingOrder;
};

Andrew Sutton
andrew.n.sutton_at_[hidden]



Boost-users 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