According to the release notes of version 1.33, bundled properties are
now supposed to work with the subgraph adapter. I am currently using
1.34 However, I'm receiving a compiler error that I never was before
I tried to switch to the subgraph adapter:
graph.cpp:569: instantiated from here
boost_1_34_1/boost/graph/properties.hpp:355: error: no type named
'vertex_bundled' in 'class boost::subgraph, boost::no_property, boost::listS> >'
The line in question looks like this:
put(&Paper::authors, *g,
index_map.index_map[atoi(current_paper_id->c_str())], name_index);
My bundled properties and graph typdefs look like this:
struct Paper
{
unsigned int paper_id;
std::string title;
std::vectorstd::size_t authors;
std::string subject;
std::string description;
std::string publisher;
std::string date_of_paper;
std::string format;
std::string identifier;
std::string source;
template<class Archive>
void serialize(Archive & ar, const unsigned int version) {
ar & paper_id;
ar & title;
ar & authors;
ar & subject;
ar & description;
ar & publisher;
ar & date_of_paper;
ar & format;
ar & identifier;
ar & source;
}
};
typedef boost::adjacency_list_traits Traits;
typedef boost::adjacency_list<
boost::setS, // OutEdgeList container
boost::vecS, // Vertex container
boost::bidirectionalS, // Directed status
Paper, // Vertex bundled properties
boost::property
> PaperGraph_t;
typedef boost::subgraph < PaperGraph_t > PaperGraph;
typedef boost::graph_traits<PaperGraph>::vertex_descriptor PaperVertex;
typedef boost::graph_traits<PaperGraph>::edge_descriptor PaperEdge;
Is there anything I'm doing wrong or is this a bug?
--
Sam Peterson
peabody@freeshell.org
peabodyenator@gmail.com