|
Boost : |
Subject: [boost] Debug Assertion Failed while trying to use read_graphviz
From: Anna Kazeykina (filledesoleil_at_[hidden])
Date: 2009-07-10 18:38:17
Hello,
I tried to compile and run in VS 2008 the following example illustrating how
to use read_graphviz() function:
#include <boost/graph/graphviz.hpp>
#include <boost/graph/adjacency_list.hpp>
#include <string>
#include <sstream>
using namespace boost;
using namespace std;
int main() {
// Vertex properties
typedef property < vertex_name_t, std::string,
property < vertex_color_t, float > > vertex_p;
// Edge properties
typedef property < edge_weight_t, double > edge_p;
// Graph properties
typedef property < graph_name_t, std::string > graph_p;
// adjacency_list-based type
typedef adjacency_list < vecS, vecS, directedS,
vertex_p, edge_p, graph_p > graph_t;
// Construct an empty graph and prepare the dynamic_property_maps.
graph_t graph(0);
dynamic_properties dp;
property_map<graph_t, vertex_name_t>::type name =
get(vertex_name, graph);
dp.property("node_id",name);
property_map<graph_t, vertex_color_t>::type mass =
get(vertex_color, graph);
dp.property("mass",mass);
property_map<graph_t, edge_weight_t>::type weight =
get(edge_weight, graph);
dp.property("weight",weight);
// Use ref_property_map to turn a graph property into a property map
boost::ref_property_map<graph_t*,std::string>
gname(get_property(graph,graph_name));
dp.property("name",gname);
// Sample graph as an std::istream;
std::istringstream
gvgraph("digraph { graph [name=\"graphname\"] a c e [mass = 6.66] }");
bool status = read_graphviz(gvgraph,graph,dp,"node_id");
return 0;
}
When I run the program I get the Debug Assertion Failed message (when I
delete the line with read_graphviz everything is OK). Could you please help
me with this problem?
Thank you,
Anna.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk