|
Boost Users : |
Subject: [Boost-users] Bundled properties with boyer_myrvold_planarity_test
From: Nick Wiggill (nick.wiggill_at_[hidden])
Date: 2009-12-13 14:47:40
Can't seem to get this working. I'm not sure if there was something I
missed in the docs, but as soon as I use bundled properties
boyer_myrvold_planarity_test falls over.
void SomeClass::create()
{
typedef adjacency_list<listS, listS, undirectedS,
property <vertex_index_t, int>,
property <edge_index_t, int> > Graph;
typedef graph_traits<Graph>::vertex_descriptor Vertex;
typedef graph_traits<Graph>::edge_descriptor Edge;
typedef graph_traits<Graph>::vertex_iterator VertexIterator;
BOOST_CONCEPT_ASSERT
((boost::concepts::VertexAndEdgeListGraph<Graph>));
BOOST_CONCEPT_ASSERT
((boost::concepts::IncidenceGraph<Graph>));
//Create graph
const int NUM_VERTICES = 5;
Graph graph(NUM_VERTICES);
//Create vertices and edges
Vertex u, v;
u = vertex(0, graph);
v = vertex(4, graph);
//add_edge(u, v, graph); //BAD line!
//Other attempted/failed way of adding edges
//Edge e;
//e = edge(u, v, graph);
//Another attempt, doesn't seem to work with
//bundled props, unsurprisingly.
//add_edge(0, 4, graph);
cout << "Vertex and edge additions complete." << endl;
//iterate through vertices
VertexIterator vItr, vItrEnd;
for (tie(vItr, vItrEnd) = vertices(graph); vItr != vItrEnd; ++vItr)
{
cout << "#"<< endl; //<< graph[*vItr] << endl;
}
cout << "Vertex iteration complete." << endl;
if (boyer_myrvold_planarity_test(graph))
cout << "Test claims graph is planar" << endl;
else
cout << "Test claims graph is non-planar" << endl;
cout << "Planarity testing complete." << endl;
}
The line commented "BAD line!" causes an exit on calling
boyer_myrvold_planarity_test. With the test commented
out, the program will run to its normal completion.
What am I failing to grasp?
TIA
-Nick
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