Boost logo

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