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