
On Wed, 14 Jul 2010, W.P. McNeill wrote:
I used boost::unordered_map for the A* output property maps. Since I'm also keeping track of a set of vertices to remove from the filtered graph, I tried implementing this with boost::unordered_set instead of std::set. This doesn't build. The error message is:
maze.cpp:243: instantiated from here /src/boost-trunk/boost/graph/filtered_graph.hpp:60: error: no matching function for call to ‘set_contains(const boost::unordered_set<vertex_descriptor, vertex_hash, std::equal_to<vertex_descriptor>, std::allocator<vertex_descriptor> >&, const boost::array<size_t, 2ul>&)’
What's going on is the vertex_subset_complement_filter calls is_not_in_subset, which calls set_contains in set_adaptor.hpp, which takes a std::set as its first argument. Maybe you'd want to template this set type too.
Try r64026 -- unordered_set should work in that version. -- Jeremiah Willcock