std::ranges:: less
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더 파일에 정의됨
<functional>
|
||
|
struct
less
;
|
(C++20부터) | |
비교를 수행하기 위한 함수 객체입니다. 함수 호출 연산자의 매개변수 유형을 인수로부터 추론합니다(반환 유형은 제외).
목차 |
중첩 타입
| 중첩 타입 | 정의 |
is_transparent
|
unspecified |
멤버 함수
|
operator()
|
첫 번째 인수가 두 번째 인수보다
작은지
확인합니다
(public member function) |
std::ranges::less:: operator()
|
template
<
class
T,
class
U
>
constexpr bool operator ( ) ( T && t, U && u ) const ; |
||
다음 표현식 std:: forward < T > ( t ) < std:: forward < U > ( u ) 을 expr 로 가정할 때:
-
-
변환된
t
가 변환된
u
(둘 다
P타입)보다 구현 정의 포인터 엄격 총순서 에서 앞서면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. -
만약
T에서P로의 변환 시퀀스 또는U에서P로의 변환 시퀀스가 동등성 보존 을 만족하지 않으면 동작은 정의되지 않습니다.
-
변환된
t
가 변환된
u
(둘 다
- 그 외의 경우:
-
- expr 의 결과를 반환합니다.
- 만약 std:: totally_ordered_with < T, U > 가 모델링되지 않으면 동작은 정의되지 않습니다.
이 오버로드는 std:: totally_ordered_with < T, U > 가 만족될 때만 오버로드 해결에 참여합니다.
만약
T
타입의 표현식
expr1
과
U
타입의 표현식
expr2
가 존재하여,
expr1
과
expr2
의 비교 결과가
엄격 총순서
를 위반하면(규칙은 아래에 정의됨) 동작은 정의되지 않습니다.
expr1 과 expr2 의 비교 결과는 다음 표현식들 중 정확히 하나 가 true 일 때만 엄격 총순서를 따릅니다:
- std :: ranges:: less { } ( expr1, expr2 )
- std :: ranges:: less { } ( expr2, expr1 )
- std :: ranges:: equal_to { } ( expr1, expr2 )
참고 사항
std::less
와 달리,
std::ranges::less
는 여섯 가지 비교 연산자
<
,
<=
,
>
,
>=
,
==
및
!=
가 모두 유효해야 합니다(
totally_ordered_with
제약 조건을 통해).
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 3530 | C++20 | 포인터 비교 시 구문적 검사가 완화됨 | 의미론적 요구사항만 완화됨 |
참고 항목
|
x < y를 구현하는 함수 객체
x
<
y
(클래스 템플릿) |