18 template<
class T,
class U>
22 decltype(std::declval<const std::remove_reference_t<T>&>() == std::declval<const std::remove_reference_t<U>&>()),
23 decltype(std::declval<const std::remove_reference_t<T>&>() != std::declval<const std::remove_reference_t<U>&>()),
24 decltype(std::declval<const std::remove_reference_t<U>&>() == std::declval<const std::remove_reference_t<T>&>()),
25 decltype(std::declval<const std::remove_reference_t<U>&>() != std::declval<const std::remove_reference_t<T>&>())
27 >> : std::true_type {};
33 template<
class T,
class U>
Definition is_weakly_equality_comparable.hpp:34
Definition Partitioner.hpp:146
bool constexpr is_weakly_equality_comparable_v
A C++17 type trait equivalent to the C++20 weakly_equality_comparable concept.
Definition is_weakly_equality_comparable.hpp:30
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
A C++17 type trait equivalent to the C++20 weakly_equality_comparable concept.
Definition is_weakly_equality_comparable.hpp:16