std::ranges::equal_to(3) C++ Standard Libary std::ranges::equal_to(3) NAME std::ranges::equal_to - std::ranges::equal_to Synopsis Defined in header <functional> struct equal_to; (since C++20) Function object for performing comparisons. The parameter types of the function call operator (but not the return type) are deduced from the arguments. Member functions operator() checks if the arguments are equal (public member function) std::ranges::equal_to::operator() template< class T, class U > constexpr bool operator()( T&& t, U&& u ) const; Given the expression std::forward<T>(t) == std::forward<U>(u) as expr: * If expr results in a call to built-in operator== comparing pointers, given the composite pointer type of t and u as P: * For the two converted pointers (of type P), if one pointer precedes the other in the implementation-defined strict total order over pointers, returns false, otherwise returns true. * If the conversion sequence from T to P or the conversion sequence from U to P is not equality-preserving, the behavior is undefined. * Otherwise: * Returns the result of expr. * If std::equality_comparable_with<T, U> is not modeled, the behavior is undefined. This overload participates in overload resolution only if std::equality_comparable_with<T, U> is satisfied. Notes Compared to std::equal_to, std::ranges::equal_to additionally requires != to be valid, and that both argument types are required to be (homogeneously) comparable with themselves (via the equality_comparable_with constraint). Example This section is incomplete Reason: no example Defect reports The following behavior-changing defect reports were applied retroac- tively to previously published C++ standards. DR Applied to Behavior as published Correct be- havior LWG 3530 C++20 syntactic checks were relaxed only semantic re- quirements are while comparing pointers relaxed See also equal_to function object implementing x == y (class template) Category: * Todo no example http://cppreference.com 2024.06.10 std::ranges::equal_to(3)
Want to link to this manual page? Use this URL:
<https://man.FreeBSD.org/cgi/man.cgi?query=std::ranges::equal_to&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>