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]

더 알아보기 (Learn more)

cppreference