functional_not_equal_to

functional_not_equal_to (같지 않음을 비교하는 함수 객체)

std::not_equal_to는 두 값이 서로 다른지 비교하는 함수 객체예요. 이 객체는 operator!=를 호출해서 결과를 bool로 돌려줘요. C++14부터는 템플릿 인자를 생략할 수 있는 std::not_equal_to<void> 특수화가 제공되어 타입 추론을 할 수 있어요.

출처: cppreference

본문

정의

<functional> 헤더에 정의되어 있어요.

template < class T > struct not_equal_to ; (until C++14)
template < class T = void > struct not_equal_to ; (since C++14)

비교를 수행하는 함수 객체예요. 특수화되지 않은 경우 T 타입에 대해 operator!=를 호출해요.

특수화

표준 라이브러리는 T가 지정되지 않은 경우 std::not_equal_to의 특수화를 제공해요. 이 특수화는 매개변수 타입과 반환 타입을 추론해요.

특수화 설명
not_equal_to<void> (C++14) x != y를 구현하고 매개변수와 반환 타입을 추론하는 함수 객체 (클래스 템플릿 특수화)

멤버 타입

타입 정의
result_type (C++17에서 deprecated, C++20에서 제거) bool
first_argument_type (C++17에서 deprecated, C++20에서 제거) T
second_argument_type (C++17에서 deprecated, C++20에서 제거) T

이 멤버 타입들은 C++11까지 std::binary_function<T, T, bool>을 공개 상속하여 얻었어요.

멤버 함수

함수 설명
operator() 두 인자가 같지 않은지 확인해요 (공개 멤버 함수)

std::not_equal_to::operator()

bool operator ()( const T & lhs , const T & rhs ) const ; (constexpr since C++14)

lhsrhs와 같지 않은지 확인해요.

매개변수

| lhs, rhs | - | 비교할 값 |

반환값

lhs != rhs이면 true, 아니면 false를 반환해요.

예외

구현 정의 예외를 던질 수 있어요.

가능한 구현

constexpr bool operator ()( const T & lhs , const T & rhs ) const { return lhs != rhs ; }

같이 보기

equal 두 요소 집합이 같은지 확인해요 (함수 템플릿 & 알고리즘 함수 객체)
ranges::equal (C++20)
less x < y를 구현하는 함수 객체 (클래스 템플릿)
ranges::not_equal_to (C++20) x != y를 구현하는 제약된 함수 객체 (클래스)

더 알아보기 (Learn more)

cppreference