22 #ifndef ELM_UTIL_EQUIV_H_
23 #define ELM_UTIL_EQUIV_H_
25 #include <elm/string.h>
26 #include <elm/util/Pair.h>
34 static inline bool equals(
const T& v1,
const T& v2) {
return v1 == v2; }
41 static inline int compare(
const T& v1,
const T& v2)
42 {
return v1.equals(v2); }
47 template <
class K,
class T,
class E = Equiv<K> >
52 {
return E::equals(v1.
fst, v2. fst); }
54 template <
class K,
class T>
class Equiv<
Pair<K, T> >
static int compare(const T &v1, const T &v2)
Definition: Equiv.h:41
static bool equals(const pair_t &v1, const pair_t &v2)
Definition: Equiv.h:51
static bool equals(const T &v1, const T &v2)
Definition: Equiv.h:34
T1 fst
Definition: Pair.h:18
Pair< K, T > pair_t
Definition: Equiv.h:50