|
Boost Users : |
From: Johan Oudinet (johan.oudinet_at_[hidden])
Date: 2005-11-21 08:31:32
Hello,
I like the named parameter method to define graph properties, so all
our properties are concentrated in a struct. But, I'd like add a
vertex with specific properties are already defined:
//=======================
#include <iostream>
#include <string>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/adjacency_list.hpp>
using namespace std;
using namespace boost;
struct People {
People () { }
People (string const& n, int a) : name(n), age(a) { }
string name;
int age;
};
int main(int, char**) {
typedef adjacency_list< vecS, vecS, bidirectionalS, People > Graph;
typedef graph_traits< Graph >::vertex_descriptor vertex_descriptor;
Graph g;
vertex_descriptor v;
People n ("toto", 26);
v = add_vertex (g); // this use the default ctor of People, a
add_vertex(g, n)
g[v] = n; // will be more efficiently (avoid a
People assignment)
cout << g[v].name << " is " << g[v].age << " old." << endl;
}
//=======================
-- Johan
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