5#ifndef INCLUDE_GUARD_ARENE_BASE_STDLIB_INCLUDE_STDLIB_DETAIL_EQUAL_TO_HPP_
6#define INCLUDE_GUARD_ARENE_BASE_STDLIB_INCLUDE_STDLIB_DETAIL_EQUAL_TO_HPP_
14#include "arene/base/compiler_support/diagnostics.hpp"
15#include "stdlib/include/stdlib_detail/forward.hpp"
23template <
class T =
void>
27 using result_type =
bool;
29 using first_argument_type = T;
31 using second_argument_type = T;
37 constexpr auto operator()(T
const& lhs, T
const& rhs)
const noexcept(
noexcept(
lhs ==
rhs)) ->
bool {
51 using is_transparent =
void;
63 template <
class T,
class U>
66 return std::forward<T>(lhs) == std::forward<U>(rhs);
ARENE_IGNORE_ALL("-Wfloat-equal", "The type being compared is up to the user")
constexpr auto operator()(T &&lhs, U &&rhs) const noexcept(noexcept(std::forward< T >(lhs)==std::forward< U >(rhs))) ->
Returns if two values are equal with parameter and return type deduced.
Definition equal_to.hpp:64
Function object that can be invoked for equality comparisons.
Definition equal_to.hpp:24
constexpr auto operator()(T const &lhs, T const &rhs) const noexcept(noexcept(lhs==rhs)) -> bool
Returns if two values are equal.
Definition equal_to.hpp:37
constexpr auto operator()(::arene::base::result< void, E > const &value) const noexcept(noexcept(hash< E >{}(std::declval< E const & >()))) -> std::size_t
Calculate the hash of a result.
Definition result.hpp:1827