std::experimental::ranges:: not_equal_to
|
헤더 파일에 정의됨
<experimental/ranges/functional>
|
||
|
template
<
class
T
=
void
>
requires EqualityComparable
<
T
>
||
|
(ranges TS) | |
|
template
<>
struct not_equal_to < void > ; |
(ranges TS) | |
비교 연산을 수행하는 함수 객체입니다. 기본 템플릿은 타입
T
의 const lvalue에 대해
operator
==
를 호출하고 결과를 부정합니다. 특수화
not_equal_to<void>
는 함수 호출 연산자의 매개변수 타입을 인수로부터 추론합니다(반환 타입은 제외).
not_equal_to
의 모든 특수화는
Semiregular
입니다.
목차 |
멤버 타입
| 멤버 타입 | 정의 |
is_transparent
(
not_equal_to<void>
특수화의 멤버에만 해당)
|
/* 지정되지 않음 */ |
멤버 함수
|
operator()
|
인수가
서로 다른지
확인합니다
(public member function) |
std::experimental::ranges::not_equal_to:: operator()
|
constexpr
bool
operator
(
)
(
const
T
&
x,
const
T
&
y
)
const
;
|
(1) |
(기본
not_equal_to<T>
템플릿의 멤버만)
|
|
template
<
class
T,
class
U
>
requires EqualityComparableWith
<
T, U
>
||
|
(2) |
(
not_equal_to<void>
특수화의 멤버만)
|
t
와
u
를 비교합니다.
return
!
ranges::
equal_to
<>
{
}
(
std::
forward
<
T
>
(
t
)
,
std::
forward
<
U
>
(
u
)
)
;
와 동일합니다.
참고 사항
std::not_equal_to
와 달리,
ranges::not_equal_to
는
==
와
!=
모두가 유효해야 합니다(
EqualityComparable
와
EqualityComparableWith
제약 조건을 통해). 그리고
ranges::equal_to
를 기준으로 완전히 정의됩니다. 그러나 구현은
operator
!
=
를 직접 사용할 수 있습니다. 왜냐하면 이러한 개념들은
==
와
!=
의 결과가 일관되도록 요구하기 때문입니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
x
!
=
y
를 구현하는 함수 객체
(클래스 템플릿) |