Namespaces
Variants

std::ranges:: equal_to

From cppreference.net
Utilities library
Function objects
Function invocation
(C++17) (C++23)
Identity function object
(C++20)
Old binders and adaptors
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
( until C++17* ) ( until C++17* )
( until C++17* ) ( until C++17* )

( until C++17* )
( until C++17* ) ( until C++17* ) ( until C++17* ) ( until C++17* )
( until C++20* )
( until C++20* )
헤더 파일에 정의됨 <functional>
struct equal_to ;
(C++20부터)

비교 연산을 수행하는 함수 객체입니다. 함수 호출 연산자의 매개변수 타입(반환 타입은 제외)은 인수로부터 추론됩니다.

목차

중첩 타입

중첩 타입 정의
is_transparent unspecified

멤버 함수

operator()
인수가 동일한지 확인합니다
(public member function)

std::ranges::equal_to:: operator()

template < class T, class U >
constexpr bool operator ( ) ( T && t, U && u ) const ;

std:: forward < T > ( t ) == std:: forward < U > ( u ) 표현식을 expr 로 가정할 때:

  • 변환된 두 포인터(타입 P )에 대해, 한 포인터가 구현 정의된 포인터의 엄격한 전체 순서 에서 다른 포인터보다 앞서는 경우 false 를 반환하고, 그렇지 않으면 true 를 반환합니다.
  • T 에서 P 로의 변환 시퀀스 또는 U 에서 P 로의 변환 시퀀스가 동등성 보존 을 만족하지 않으면 동작은 정의되지 않습니다.
  • 그 외의 경우:

이 오버로드는 std:: equality_comparable_with < T, U > 가 만족될 때만 오버로드 해결에 참여합니다.

참고 사항

std::equal_to 와 비교하여, std::ranges::equal_to 는 추가적으로 != 가 유효해야 하며, 두 인수 타입 모두 (동질적으로) 자기 자신과 비교 가능해야 합니다 ( equality_comparable_with 제약 조건을 통해).

예제

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 3530 C++20 포인터 비교 시 구문적 검사가 완화됨 의미론적 요구사항만 완화됨

참고 항목

x == y 를 구현하는 함수 객체
(클래스 템플릿)