11 #include <IMP/base/base_config.h>
14 IMP_CLANG_PRAGMA(diagnostic push)
15 IMP_CLANG_PRAGMA(diagnostic ignored
"-Wmismatched-tags")
17 #include <boost/functional/hash.hpp>
18 #include <boost/functional/hash/hash.hpp>
20 IMP_CLANG_PRAGMA(diagnostic pop)
24 #include <boost/graph/adjacency_list.hpp>
27 IMPBASE_BEGIN_NAMESPACE
29 inline std::size_t hash_value(
const T &t) {
32 inline std::size_t hash_value(
double d) {
33 return boost::hash_value(d);
35 inline std::size_t hash_value(
int d) {
36 return boost::hash_value(d);
38 inline std::size_t hash_value(
bool d) {
39 return boost::hash_value(d);
41 inline std::size_t hash_value(
const std::string& d) {
42 return boost::hash_value(d);
47 inline std::size_t hash_value(
const std::vector<T> &t) {
48 return boost::hash_range(t.begin(), t.end());