|
Boost Users : |
From: Sandeep Bhutani (bhutani_at_[hidden])
Date: 2002-08-23 18:16:48
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.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net