ranges_not_equal_to
ranges_not_equal_to (같지 않음을 비교하는 함수 객체)
이 페이지는 C++20부터 제공되는 std::ranges::not_equal_to 함수 객체에 대해 설명해요. 이 객체는 두 인자가 서로 다른지 비교하는 역할을 하며, 인자로부터 함수 호출 연산자의 매개변수 타입을 추론해요. 반환 타입은 추론하지 않지만, std::equality_comparable_with 제약을 만족하는 경우에만 사용할 수 있어요.
출처: cppreference
본문
<functional> 헤더에 정의되어 있어요.
| 정의 | |
|---|---|
struct not_equal_to ; |
(C++20부터) |
비교를 수행하는 함수 객체예요. 함수 호출 연산자의 매개변수 타입을 인자로부터 추론해요 (반환 타입은 추론하지 않아요).
중첩 타입
| 중첩 타입 | 정의 |
|---|---|
is_transparent |
불명 (unspecified) |
멤버 함수
| 멤버 함수 | 설명 |
|---|---|
operator() |
인자가 서로 다른지 확인해요 (공개 멤버 함수) |
std::ranges::not_equal_to::operator()
template < class T , class U > constexpr bool operator ()( T && t , U && u ) const ;
return ! ranges :: equal_to {}( std :: forward < T > ( t ), std :: forward < U > ( u )); 와 동일해요.
이 오버로드는 std :: equality_comparable_with < T , U > 조건을 만족할 때만 오버로드 해석에 참여해요.
참고 사항
std::not_equal_to와 달리, std::ranges::not_equal_to는 equality_comparable_with 제약을 통해 ==와 !=가 모두 유효해야 하며, 전적으로 std::ranges::equal_to를 기반으로 정의되어 있어요.
예제
| 이 섹션은 불완전해요. 이유: 예제 없음 |
결함 보고서
다음 동작 변경 결함 보고서는 이전에 발표된 C++ 표준에 소급 적용되었어요.
| DR | 적용 대상 | 발표된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 3530 | C++20 | 포인터 비교 시 구문 검사가 완화되었음 | 의미론적 요구 사항만 완화됨 |
같이 보기
not_equal_to |
x != y를 구현하는 함수 객체 (클래스 템플릿) [편집] |
|---|