std::experimental::ranges:: less
|
헤더 파일에 정의됨
<experimental/ranges/functional>
|
||
|
template
<
class
T
=
void
>
requires StrictTotallyOrdered
<
T
>
||
|
(ranges TS) | |
|
template
<>
struct less < void > ; |
(ranges TS) | |
비교 연산을 수행하는 함수 객체입니다. 기본 템플릿은 타입
T
의 const lvalue에 대해
operator
<
를 호출합니다.
less<void>
특수화는 함수 호출 연산자의 매개변수 타입을 인수로부터 추론합니다(반환 타입은 제외).
less
의 모든 특수화는
Semiregular
입니다.
목차 |
멤버 타입
| 멤버 타입 | 정의 |
is_transparent
(
less<void>
특수화에서만 멤버)
|
/* 지정되지 않음 */ |
멤버 함수
|
operator()
|
첫 번째 인수가 두 번째 인수보다
작은지
확인합니다
(public member function) |
std::experimental::ranges::less:: operator()
|
constexpr
bool
operator
(
)
(
const
T
&
x,
const
T
&
y
)
const
;
|
(1) |
(기본
less<T>
템플릿의 멤버 전용)
|
|
template
<
class
T,
class
U
>
requires StrictTotallyOrderedWith
<
T, U
>
||
|
(2) |
(
less<void>
특수화의 멤버 전용)
|
t
와
u
를 비교합니다.
return
std::
forward
<
T
>
(
t
)
<
std::
forward
<
U
>
(
u
)
;
와 동등하지만, 해당 표현식이 포인터를 비교하는 내장
operator
<
호출로 해결되는 경우는 제외됩니다.
(1)
또는
(2)
호출이
P
타입의 포인터를 비교하는 내장 연산자를 호출할 경우, 결과는 다음과 같이 결정됩니다:
-
첫 번째 인자의 (변환된) 값이
P타입의 모든 포인터 값에 대한 구현 정의 엄격 총 순서(strict total ordering)에서 두 번째 인자의 (변환된) 값보다 앞서는 경우 true 를 반환합니다. 이 엄격 총 순서는 내장 연산자<,>,<=,>=에 의해 부과된 부분 순서와 일관됩니다. - 그렇지 않으면 false 를 반환합니다.
T
와
U
에서
P
로의 변환 순서가 등식 보존(equality preservation)인 경우가 아니면 동작은 정의되지 않습니다(아래 참조).
등식 보존(Equality preservation)
표현식이 동일한 입력이 주어졌을 때 동일한 출력을 생성하면 등식 보존 입니다.
- 표현식의 입력은 해당 피연산자로 구성됩니다.
- 표현식의 출력은 해당 결과와 표현식에 의해 수정된 모든 피연산자(있는 경우)로 구성됩니다.
등식 보존이 요구되는 모든 표현식은 추가로 안정적(stable) 이어야 합니다: 동일한 입력 객체에 대한 이러한 표현식의 두 평가는 해당 입력 객체에 대한 명시적인 중간 수정이 없는 한 동일한 출력을 가져야 합니다.
참고 사항
std::less
와 달리,
ranges::less
는 여섯 가지 비교 연산자
<
,
<=
,
>
,
>=
,
==
및
!=
가 모두 유효해야 합니다 (
StrictTotallyOrdered
및
StrictTotallyOrderedWith
제약 조건을 통해).
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
x
<
y
를 구현하는 함수 객체
(클래스 템플릿) |