Namespaces
Variants

operator==(std::ranges::take_view::sentinel<Const>)

cppreference.net에서 가져옴
 
 
Ranges 라이브러리
Range adaptor
 
 
friend constexpr bool
    operator==( const std::counted_iterator<ranges::iterator_t<Base>>& y,
                const /*sentinel*/& x );
(1) (C++20부터)
template< bool OtherC = !Const >
    requires std::sentinel_for<ranges::sentinel_t<Base>,
                               ranges::iterator_t</*add-const-if*/<OtherC, V>>>
friend constexpr bool
    operator==( const std::counted_iterator<
                          ranges::iterator_t</*add-const-if*/<OtherC, V>>>& y,
                const /*sentinel*/& x );
(2) (C++20부터)

take_view::/*sentinel*/와 std::counted_iterator를 비교합니다 (일반적으로 take_view::begin 호출에서 얻습니다).

true를 반환합니다. 만약 y가 N번째 요소를 넘어서거나 (여기서 N은 take_view의 생성자에 전달된 수입니다), 또는 기반 뷰의 끝에 도달한 경우입니다.

설명 전용 별칭 템플릿 /*add-const-if*/는 다음과 같이 정의됩니다
template<bool C, class T>
using /*add-const-if*/ = std::conditional_t<C, const T, T>;
.

이 함수들은 일반적인 비한정 또는 한정 조회에 보이지 않으며, 인자 종속 조회를 통해서만 찾을 수 있습니다. 단, std::ranges::take_view::sentinel<Const>이 인자의 연관 클래스인 경우에 한합니다.

!= 연산자는 에서 operator==로부터 합성됩니다.

매개변수

y - std::counted_iterator 비교할
x - 비교할 센티널

반환값

y. count ( ) == 0 || y. base ( ) == x. end_ , 여기서 end_ 는 내부 센티널을 나타냅니다.

예제

결함 보고서

다음 동작 변경 결함 보고서는 이전에 게시된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 3449 C++20 서로 다른 const 한정자를 가진
take_view 의 반복자와 센티널 간 비교가 지원되지 않음
가능한 경우 지원하도록 변경