
I'm using MSVC 6.0, STLPort 4.5.3 and i use hash_setS for the edge list container. I've encountered a problem with remove_edge, allthough i don't now whats really going on there. Beside that, there are no problems yet. ----- Original Message ----- From: "Sandeep Bhutani" <bhutani@lsil.com> Newsgroups: gmane.comp.lib.boost.user Sent: Saturday, August 24, 2002 1:16 AM Subject: Using Hash with Graph
Hi, I am trying to use hash feature with the graph library. Here are the various details: Solaris: SunOS 5.7 Compiler: KAI 4.0 STL: Native Sun Hash: A hacked up version of SGI/STLPort
I can get graph to work with vectors/lists. I can't get it to work with the hash_set or hash_map. I get a message from the "concept_checks.h" file in my hash which essentially tells me that the hash function is not defined. I am reproducing the message from the compiler at the bottom. I am trying to make all this work by using the adjacency_list.cpp file in the examples directory. Here is the change I have made to that file: typedef adjacency_list<hash_setS, listS, undirectedS, VertexProperty, EdgeProperty> Graph; // New typedef adjacency_list<vecS, listS, undirectedS, VertexProperty, EdgeProperty> Graph; // Old
Can you please help? Has anyone used the has feature in the graph library. I had to edit the line number 166 in adjacency_list.hpp to replace hash_set with hash_map.
Thanks -Sandeep
The message:
"/lsi/home/bhutani/hash/include/concept_checks.h", line 289: error: call of an object of a class type without appropriate operator() or conversion functions to pointer-to-function type return __f(__arg); ^ detected during instantiation of "_Ret _STL_UNARY_FUNCTION_ERROR<_Func, _Ret, _Arg>::__unary_function_requirement_violation(_Func &, const _Arg &) [with
_Func=std::hash<boost::detail::adj_list_gen<boost::adjacenc y_list<boost::hash_setS, boost::listS, boost::undirectedS, boost::property<boost::vertex_index_t, size_t, boost::property<boost::vertex_color_t, boost::default_color_type, boost::no_property>>, boost::property<boost::edge_name_t, std::string, boost::no_property>, boost::no_property, boost::listS>, boost::listS, boost::hash_setS, boost::undirectedS, boost::property<boost::vertex_index_t, size_t, boost::property<boost::vertex_color_t, boost::default_color_type, boost::no_property>>, boost::property<boost::edge_name_t, std::string, boost::no_property>, boost::no_property, boost::listS>::config::StoredEdge>, _Ret=size_t,
_Arg=boost::detail::adj_list_gen<boost::adjacency_list<boos t::hash_setS, boost::listS, boost::undirectedS, boost::property<boost::vertex_index_t, size_t, boost::property<boost::vertex_color_t, boost::default_color_type, boost::no_property>>, boost::property<boost::edge_name_t, std::string, boost::no_property>, boost::no_property, boost::listS>, boost::listS, boost::hash_setS, boost::undirectedS, boost::property<boost::vertex_index_t, size_t, boost::property<boost::vertex_color_t, boost::default_color_type, boost::no_property>>, boost::property<boost::edge_name_t, std::string, boost::no_property>, boost::no_property, boost::listS>::config::StoredEdge]" at line 95 of "adjacency_list.cpp"
1 error detected in the compilation of "adjacency_list.cpp". KCC: Compilation failed. boost::property<boost::vertex_color_t, boost::default_color_type, boost::no_property>>, boost::property<boost::edge_name_t, std::string, boost::no_property>, boost::no_property, boost::listS>, boost::listS, boost::hash_setS, boost::undirectedS, boost::property<boost::vertex_index_t, size_t, boost::property<boost::vertex_color_t, boost::default_color_type, boost::no_property>>, boost::property<boost::edge_name_t, std::string, boost::no_property>, boost::no_property, boost::listS>::config::StoredEdge]" at line 95 of "adjacency_list.cpp"
1 error detected in the compilation of "adjacency_list.cpp". KCC: Compilation failed.