boost::vf2_subgraph_iso
应该在给定的大图中找到给定较小图的诱导子图。传递给它的回调将获得一个映射作为输入。
template <typename CorrespondenceMap1To2, typename CorrespondenceMap2To1>
bool operator()(CorrespondenceMap1To2 f, CorrespondenceMap2To1 g) const{
// boost::get(f, u) maps u in small to v in large
}
但是文档只提到了顶点映射。我知道可以通过映射每个边缘的源和目标来理解边缘映射。但我需要映射边缘的捆绑属性。
似乎这boost::get
不适用于映射和边缘描述符。boost::get(f, e)
产生以下错误消息。
error: no match for ‘operator[]’ (operand types are ‘const boost::iterator_property_map<__gnu_cxx::__normal_iterator<long unsigned int*, std::vector<long unsigned int, std::allocator<long unsigned int> > >, boost::vec_adj_list_vertex_id_map<bya::util::isomorphism::vertex_data, long unsigned int>, long unsigned int, long unsigned int&>’ and ‘const boost::detail::edge_desc_impl<boost::bidirectional_tag, long unsigned int>’)