21 #ifndef _GRINGO_HASHABLE_HH
22 #define _GRINGO_HASHABLE_HH
29 #define GRINGO_HASH(T) namespace std { template <> struct hash<T> : hash<Gringo::Hashable> { }; }
30 #define GRINGO_CALL_HASH(T) namespace std { template <> struct hash<T> { size_t operator()(T const &x) const { return x.hash(); } }; }
38 virtual size_t hash()
const = 0;
59 struct hash<Gringo::Hashable> {
67 #endif // _GRINGO_HASHABLE_HH
size_t operator()(T const &x) const
Definition: hashable.hh:47
virtual ~Hashable()
Definition: hashable.hh:39
size_t operator()(Gringo::Hashable const &x) const
Definition: hashable.hh:60
Definition: hashable.hh:36
Definition: hashable.hh:46
int x
Definition: utility.cc:65
virtual size_t hash() const =0