Hello,
when you are inside the visitor the () operator takes two arguments, a
vertex descriptor and a reference to the graph.
So I guess you can use this graph variable to access the property map
for color.
For example I have the following visitor:
7674,0F0D,504Estruct SendMsg :
7674,0F0D,504Epublic base_visitor
<
{
7674,0F0D,504Etypedef on_finish_vertex
event_filter;
2321,6E6C,2523/* here what the visitor must
do... */
7674,0F0D,504Etemplate
<<7674,0F0D,504Eclass Vertex,
7674,0F0D,504Eclass Graph>
7674,0F0D,504Evoid
7674,0F0D,504Eoperator()(Vertex u,
Graph& g)
{
Vertex v = g[u].get_parent_node();
7674,0F0D,504Etypename graph_traits
<::edge_descriptor e = edge(u,v,g).first;
g[u].send_message( g[v].get_object(), g[e] );
}
};
I guess in that example, you need to use the g variable with
the color map in order to do what you want... take a look at
"http://www.boost.org/libs/graph/doc/depth_first_search.html" and that
should help you.
I don't know exactly how to that, because I don't know about property
maps, but that would be something like g.color_map[v] = ...
(excuse me for the absolutely wrong syntax... you'd have to use put I
guess)
Jean-Noël
On 7-Mar-05, at 10:37 PM, Stephen Torri wrote:
I have a need to have a graph visitor algorithm similar to
depth first
search. The only difference is that if upon running discover_vertex the
intended operation to be done on the vertex is not done I want the
graph
color value for this position to still be white.
The reason is that the graph I am using the depth first search is a
directed graph with no loops in it. A vertex might have two or more
vertices providing information. If all the information is not there I
want the visitor to try again.
What do I have to do to gain access to the color map inside the visitor
when I am in discover_vertex?
Stephen
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users