Thanks Cedric & Jeremiah,

I tried a bunch of things

  template < typename Graph >
    void test_graph_property( Graph & g )
  {


        //get_property(graph_properties, bobo);
        //g[graph_properties].bobo;
        //g[graph_bundle].bobo;
        //g[bobo];
 
        //get(bobo,g);
        //get(g, graph_properties);
        //cout << g[g].bobo << endl;
 
        //get_property(g.graph_properties, bobo);
        get_property(g, bobo);

  }

But nothing works.
For "get_property(g, bobo);"  I get

In function ‘void test_graph_property(Graph&)’:
error: ‘bobo’ was not declared in this scope


The doc pages you refered me to only mention property_maps, as far as I can tell.
Maybe I need to declare a property_map such as

       property_map < graph_t, int >::type
          capacity = get(bobo, g);

I would hope that I could avoid this using bundled properties.

Thanks


From: Jeremiah Willcock <jewillco@osl.iu.edu>
To: boost-users@lists.boost.org
Sent: Sat, August 14, 2010 12:05:25 PM
Subject: Re: [Boost-users] How to access a GRAPH property? - simple

On Fri, 13 Aug 2010, Mike Douglass wrote:

> I have
>
> struct vertex_properties
> {
>     blah blah
> }
>
> struct edge_properties
> {
>     blah blah
> }
>
> struct graph_properties
> {
>
>   int bobo;
>
> }
>
>
> typedef adjacency_list < vecS, vecS, bidirectionalS,
>         property< vertex_predecessor_t, vertex_t, vertex_properties >,
>         property< edge_reverse_t, edge_t, edge_properties >,
>         graph_properties
>                 > graph_t;
>
> graph_t g;
>
> But how can I access bobo?
>
> g.bobo; does not compile (otherwise compiles OK).

To get the graph property, you can use the get_property() function, documented at http://www.boost.org/doc/libs/1_43_0/libs/graph/doc/adjacency_list.html> (near the bottom).  Bundled graph properties are new (just added to the trunk in the past few weeks); I believe the syntax for those is "g[graph_bundle].bobo".

-- Jeremiah Willcock