Edmonds karp max flow compile error

Hi, I want to use BGL to compute the maximum flow in a network. Following is the definition of Graph that I am using typedef adjacency_list_traits < listS, listS, bidirectionalS > Traits; typedef adjacency_list < listS, listS, bidirectionalS, property < vertex_name_t, int >, property < edge_capacity_t, long, property < edge_residual_capacity_t, long, property < edge_reverse_t, Traits::edge_descriptor > > > > Graph; . Before computing the max flow, I have the following optional parameters setup property_map < Graph, edge_capacity_t >::type capacity = get(edge_capacity, this->g); property_map < Graph, edge_reverse_t >::type rev = get(edge_reverse, this->g); property_map < Graph, edge_residual_capacity_t >::type residual_capacity = get(edge_residual_capacity, this->g); property_map < Graph, vertex_name_t >::type vname = get(vertex_name,this->g); std::vector<default_color_type> color(num_vertices(this->g)); std::vector<Traits::edge_descriptor> pred(num_vertices(this->g)); The call to the algorithm is.. int flow = edmonds_karp_max_flow(g, s, t, capacity, residual_capacity, rev, &color[0], &pred[0]); When I try to compile the program it fails with the following error message. Can someone explain the reason for this ? /usr/include/boost/graph/edmonds_karp_max_flow.hpp: In function ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’: boost_funcs.h:161: instantiated from here /usr/include/boost/graph/edmonds_karp_max_flow.hpp:99: error: array subscript is not an integer boost_funcs.h:161: instantiated from here /usr/include/boost/graph/edmonds_karp_max_flow.hpp:100: error: array subscript is not an integer boost_funcs.h:161: instantiated from here /usr/include/boost/graph/edmonds_karp_max_flow.hpp:106: error: array subscript is not an integer In file included from /usr/include/boost/graph/edmonds_karp_max_flow.hpp:22, from boost_funcs.h:20, from vertex_walk.h:21, from graph_miner.cpp:14: /usr/include/boost/graph/breadth_first_search.hpp: In function ‘void boost::breadth_first_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with VertexListGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’: /usr/include/boost/graph/edmonds_karp_max_flow.hpp:102: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/graph/breadth_first_search.hpp:105: error: no matching function for call to ‘put(boost::default_color_type*&, void*&, boost::default_color_type)’ In file included from boost_funcs.h:20, from vertex_walk.h:21, from graph_miner.cpp:14: /usr/include/boost/graph/edmonds_karp_max_flow.hpp: In function ‘void boost::detail::augment(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, PredEdgeMap, ResCapMap, RevEdgeMap) [with Graph = boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, ResCapMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, RevEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>]’: /usr/include/boost/graph/edmonds_karp_max_flow.hpp:107: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/graph/edmonds_karp_max_flow.hpp:55: error: array subscript is not an integer /usr/include/boost/graph/edmonds_karp_max_flow.hpp:107: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/graph/edmonds_karp_max_flow.hpp:60: error: array subscript is not an integer /usr/include/boost/graph/edmonds_karp_max_flow.hpp:64: error: array subscript is not an integer /usr/include/boost/graph/edmonds_karp_max_flow.hpp:69: error: array subscript is not an integer In file included from /usr/include/boost/graph/edmonds_karp_max_flow.hpp:22, from boost_funcs.h:20, from vertex_walk.h:21, from graph_miner.cpp:14: /usr/include/boost/graph/breadth_first_search.hpp: In function ‘void boost::breadth_first_visit(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with IncidenceGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’: /usr/include/boost/graph/breadth_first_search.hpp:107: instantiated from ‘void boost::breadth_first_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with VertexListGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/edmonds_karp_max_flow.hpp:102: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/graph/breadth_first_search.hpp:72: error: no matching function for call to ‘put(boost::default_color_type*&, void*&, boost::default_color_type)’ /usr/include/boost/graph/breadth_first_search.hpp:107: instantiated from ‘void boost::breadth_first_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with VertexListGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/edmonds_karp_max_flow.hpp:102: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/graph/breadth_first_search.hpp:78: error: no matching function for call to ‘get(boost::default_color_type*&, void*&)’ /usr/include/boost/graph/breadth_first_search.hpp:107: instantiated from ‘void boost::breadth_first_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with VertexListGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/edmonds_karp_max_flow.hpp:102: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/graph/breadth_first_search.hpp:80: error: no matching function for call to ‘put(boost::default_color_type*&, void*&, boost::default_color_type)’ /usr/include/boost/graph/breadth_first_search.hpp:107: instantiated from ‘void boost::breadth_first_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with VertexListGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/edmonds_karp_max_flow.hpp:102: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/graph/breadth_first_search.hpp:87: error: no matching function for call to ‘put(boost::default_color_type*&, void*&, boost::default_color_type)’ In file included from /usr/include/boost/graph/edmonds_karp_max_flow.hpp:18, from boost_funcs.h:20, from vertex_walk.h:21, from graph_miner.cpp:14: /usr/include/boost/property_map/property_map.hpp: In member function ‘void boost::ReadablePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::default_color_type*, Key = void*]’: /usr/include/boost/concept/detail/has_constraints.hpp:40: instantiated from ‘const bool boost::concept::not_satisfied<boost::ReadablePropertyMapConcept<boost::default_color_type*, void*> >::value’ /usr/include/boost/concept/detail/has_constraints.hpp:43: instantiated from ‘boost::concept::not_satisfied<boost::ReadablePropertyMapConcept<boost::default_color_type*, void*> >’ /usr/include/boost/mpl/if.hpp:67: instantiated from ‘boost::mpl::if_<boost::concept::not_satisfied<boost::ReadablePropertyMapConcept<boost::default_color_type*, void*> >, boost::concept::constraint<boost::ReadablePropertyMapConcept<boost::default_color_type*, void*> >, boost::concept::requirement<boost::ReadablePropertyMapConcept<boost::default_color_type*, void*> > >’ /usr/include/boost/concept/detail/general.hpp:19: instantiated from ‘boost::concept::requirement_<void (*)(boost::ReadablePropertyMapConcept<boost::default_color_type*, void*>)>’ /usr/include/boost/concept_check.hpp:43: instantiated from ‘void boost::function_requires(Model*) [with Model = boost::ReadablePropertyMapConcept<boost::default_color_type*, void*>]’ /usr/include/boost/property_map/property_map.hpp:220: instantiated from ‘void boost::ReadWritePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::default_color_type*, Key = void*]’ /usr/include/boost/concept/detail/has_constraints.hpp:40: instantiated from ‘const bool boost::concept::not_satisfied<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> >::value’ /usr/include/boost/concept/detail/has_constraints.hpp:43: instantiated from ‘boost::concept::not_satisfied<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> >’ /usr/include/boost/mpl/if.hpp:67: instantiated from ‘boost::mpl::if_<boost::concept::not_satisfied<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> >, boost::concept::constraint<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> >, boost::concept::requirement<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> > >’ /usr/include/boost/concept/detail/general.hpp:19: instantiated from ‘boost::concept::requirement_<void (*)(boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*>)>’ /usr/include/boost/concept_check.hpp:43: instantiated from ‘void boost::function_requires(Model*) [with Model = boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*>]’ /usr/include/boost/graph/breadth_first_search.hpp:67: instantiated from ‘void boost::breadth_first_visit(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with IncidenceGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/breadth_first_search.hpp:107: instantiated from ‘void boost::breadth_first_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with VertexListGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/edmonds_karp_max_flow.hpp:102: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/property_map/property_map.hpp:164: error: no matching function for call to ‘get(boost::default_color_type*&, void*&)’ /usr/include/boost/property_map/property_map.hpp: In member function ‘void boost::WritablePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::default_color_type*, Key = void*]’: /usr/include/boost/concept/detail/has_constraints.hpp:40: instantiated from ‘const bool boost::concept::not_satisfied<boost::WritablePropertyMapConcept<boost::default_color_type*, void*> >::value’ /usr/include/boost/concept/detail/has_constraints.hpp:43: instantiated from ‘boost::concept::not_satisfied<boost::WritablePropertyMapConcept<boost::default_color_type*, void*> >’ /usr/include/boost/mpl/if.hpp:67: instantiated from ‘boost::mpl::if_<boost::concept::not_satisfied<boost::WritablePropertyMapConcept<boost::default_color_type*, void*> >, boost::concept::constraint<boost::WritablePropertyMapConcept<boost::default_color_type*, void*> >, boost::concept::requirement<boost::WritablePropertyMapConcept<boost::default_color_type*, void*> > >’ /usr/include/boost/concept/detail/general.hpp:19: instantiated from ‘boost::concept::requirement_<void (*)(boost::WritablePropertyMapConcept<boost::default_color_type*, void*>)>’ /usr/include/boost/concept_check.hpp:43: instantiated from ‘void boost::function_requires(Model*) [with Model = boost::WritablePropertyMapConcept<boost::default_color_type*, void*>]’ /usr/include/boost/property_map/property_map.hpp:221: instantiated from ‘void boost::ReadWritePropertyMapConcept<PMap, Key>::constraints() [with PMap = boost::default_color_type*, Key = void*]’ /usr/include/boost/concept/detail/has_constraints.hpp:40: instantiated from ‘const bool boost::concept::not_satisfied<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> >::value’ /usr/include/boost/concept/detail/has_constraints.hpp:43: instantiated from ‘boost::concept::not_satisfied<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> >’ /usr/include/boost/mpl/if.hpp:67: instantiated from ‘boost::mpl::if_<boost::concept::not_satisfied<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> >, boost::concept::constraint<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> >, boost::concept::requirement<boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*> > >’ /usr/include/boost/concept/detail/general.hpp:19: instantiated from ‘boost::concept::requirement_<void (*)(boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*>)>’ /usr/include/boost/concept_check.hpp:43: instantiated from ‘void boost::function_requires(Model*) [with Model = boost::ReadWritePropertyMapConcept<boost::default_color_type*, void*>]’ /usr/include/boost/graph/breadth_first_search.hpp:67: instantiated from ‘void boost::breadth_first_visit(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with IncidenceGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/breadth_first_search.hpp:107: instantiated from ‘void boost::breadth_first_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with VertexListGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/edmonds_karp_max_flow.hpp:102: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/property_map/property_map.hpp:195: error: no matching function for call to ‘put(boost::default_color_type*&, void*&, boost::default_color_type&)’ In file included from /usr/include/boost/graph/breadth_first_search.hpp:22, from /usr/include/boost/graph/edmonds_karp_max_flow.hpp:22, from boost_funcs.h:20, from vertex_walk.h:21, from graph_miner.cpp:14: /usr/include/boost/graph/visitors.hpp: In member function ‘void boost::edge_predecessor_recorder<PredEdgeMap, Tag>::operator()(Edge, const Graph&) [with Edge = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, Graph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, Tag = boost::on_tree_edge]’: /usr/include/boost/graph/visitors.hpp:109: instantiated from ‘void boost::detail::invoke_dispatch(Visitor&, T, Graph&, mpl_::true_) [with Visitor = boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge>, T = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, Graph = const boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>]’ /usr/include/boost/graph/visitors.hpp:140: instantiated from ‘void boost::invoke_visitors(Visitor&, T, Graph&, Tag) [with Visitor = boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge>, T = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, Graph = const boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Tag = boost::on_tree_edge]’ /usr/include/boost/graph/breadth_first_search.hpp:155: instantiated from ‘boost::graph::bfs_visitor_event_not_overridden boost::bfs_visitor<Visitors>::tree_edge(Edge, Graph&) [with Edge = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, Graph = const boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Visitors = boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge>]’ /usr/include/boost/graph/breadth_first_search.hpp:79: instantiated from ‘void boost::breadth_first_visit(const IncidenceGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with IncidenceGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/breadth_first_search.hpp:107: instantiated from ‘void boost::breadth_first_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap) [with VertexListGraph = boost::filtered_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, boost::property<boost::vertex_name_t, int, boost::no_property>, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::no_property, boost::listS>, boost::is_residual_edge<boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t> >, boost::keep_all>, Buffer = boost::queue<void*, std::deque<void*, std::allocator<void*> > >, BFSVisitor = boost::bfs_visitor<boost::edge_predecessor_recorder<boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*, boost::on_tree_edge> >, ColorMap = boost::default_color_type*]’ /usr/include/boost/graph/edmonds_karp_max_flow.hpp:102: instantiated from ‘typename boost::property_traits<IndexMap>::value_type boost::edmonds_karp_max_flow(Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, typename boost::graph_traits<Graph>::vertex_descriptor, CapacityEdgeMap, ResidualCapacityEdgeMap, ReverseEdgeMap, ColorMap, PredEdgeMap) [with Graph = Graph, CapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_capacity_t>, ResidualCapacityEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, long int, long int&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_residual_capacity_t>, ReverseEdgeMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&, void*, boost::property<boost::edge_capacity_t, long int, boost::property<boost::edge_residual_capacity_t, long int, boost::property<boost::edge_reverse_t, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>, boost::no_property> > >, boost::edge_reverse_t>, ColorMap = boost::default_color_type*, PredEdgeMap = boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*]’ boost_funcs.h:161: instantiated from here /usr/include/boost/graph/visitors.hpp:176: error: no matching function for call to ‘put(boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>*&, void*, boost::detail::edge_desc_impl<boost::bidirectional_tag, void*>&)’ -- Pranay Anchuri Computer Science Graduate Student Rensselaer Polytechnic Institute Troy,NY

On Sat, 18 Feb 2012, coolhead.pranay@gmail.com wrote:
Hi,
I want to use BGL to compute the maximum flow in a network. Following is the definition of Graph that I am using
typedef adjacency_list_traits < listS, listS, bidirectionalS > Traits; typedef adjacency_list < listS, listS, bidirectionalS, property < vertex_name_t, int >, property < edge_capacity_t, long, property < edge_residual_capacity_t, long, property < edge_reverse_t, Traits::edge_descriptor > > > > Graph; . Before computing the max flow, I have the following optional parameters setup
property_map < Graph, edge_capacity_t >::type capacity = get(edge_capacity, this->g); property_map < Graph, edge_reverse_t >::type rev = get(edge_reverse, this->g); property_map < Graph, edge_residual_capacity_t >::type residual_capacity = get(edge_residual_capacity, this->g); property_map < Graph, vertex_name_t >::type vname = get(vertex_name,this->g);
std::vector<default_color_type> color(num_vertices(this->g)); std::vector<Traits::edge_descriptor> pred(num_vertices(this->g));
The call to the algorithm is..
int flow = edmonds_karp_max_flow(g, s, t, capacity, residual_capacity, rev, &color[0], &pred[0]);
When I try to compile the program it fails with the following error message. Can someone explain the reason for this ?
The problem stems from your use of the listS selector for your vertex container; choosing vecS instead is likely to make the code work. If you need to use listS for some reason, you will need to do more changes to get the code to work; if you need to know about that, please reply to the list and I will put in all of the steps you need to do. Using vecS is by far the simplest solution, though. -- Jeremiah Willcock

Changing listS to vecS worked. Is there a specific reason why listS wont work ? On Sun, Feb 19, 2012 at 3:11 PM, Jeremiah Willcock <jewillco@osl.iu.edu>wrote:
On Sat, 18 Feb 2012, coolhead.pranay@gmail.com wrote:
Hi,
I want to use BGL to compute the maximum flow in a network. Following is the definition of Graph that I am using
typedef adjacency_list_traits < listS, listS, bidirectionalS > Traits; typedef adjacency_list < listS, listS, bidirectionalS, property < vertex_name_t, int >, property < edge_capacity_t, long, property < edge_residual_capacity_t, long, property < edge_reverse_t, Traits::edge_descriptor > > > > Graph; . Before computing the max flow, I have the following optional parameters setup
property_map < Graph, edge_capacity_t >::type capacity = get(edge_capacity, this->g); property_map < Graph, edge_reverse_t >::type rev = get(edge_reverse, this->g); property_map < Graph, edge_residual_capacity_t >::type residual_capacity = get(edge_residual_capacity, this->g); property_map < Graph, vertex_name_t >::type vname = get(vertex_name,this->g);
std::vector<default_color_**type> color(num_vertices(this->g)); std::vector<Traits::edge_**descriptor> pred(num_vertices(this->g));
The call to the algorithm is..
int flow = edmonds_karp_max_flow(g, s, t, capacity, residual_capacity, rev, &color[0], &pred[0]);
When I try to compile the program it fails with the following error message. Can someone explain the reason for this ?
The problem stems from your use of the listS selector for your vertex container; choosing vecS instead is likely to make the code work. If you need to use listS for some reason, you will need to do more changes to get the code to work; if you need to know about that, please reply to the list and I will put in all of the steps you need to do. Using vecS is by far the simplest solution, though.
-- Jeremiah Willcock _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Pranay Anchuri Computer Science Graduate Student Rensselaer Polytechnic Institute Troy,NY

On Sun, 19 Feb 2012, coolhead.pranay@gmail.com wrote:
Changing listS to vecS worked. Is there a specific reason why listS wont work ?
listS produces a graph whose vertex descriptors are not integers, and the property maps created in algorithms are vectors that need integer indices. The algorithms thus need a vertex->integer map (called vertex_index_map) that you can either pass into each algorithm or have as a property of the graph. Graphs that have vecS as vertex container create this map automatically; for listS or setS, you need to create it yourself. -- Jeremiah Willcock
participants (2)
-
coolhead.pranay@gmail.com
-
Jeremiah Willcock