8
9
10
11
12
13
14template <
typename T =
void>
17 constexpr auto operator()(
const T& Lhs,
const T& Rhs)
const ->
decltype(Lhs == Rhs)
26 template <
typename T,
typename U>
27 constexpr auto operator()(T&& Lhs, U&& Rhs)
const ->
decltype(Forward<T>(Lhs) == Forward<U>(Rhs))
29 return Forward<T>(Lhs) == Forward<U>(Rhs);
constexpr auto operator()(T &&Lhs, U &&Rhs) const -> decltype(Forward< T >(Lhs)==Forward< U >(Rhs))
constexpr auto operator()(const T &Lhs, const T &Rhs) const -> decltype(Lhs==Rhs)