Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
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 호출에서 얻은).

take_view 생성자 에 전달된 N(요소 개수)을 지나서 y 가 가리키거나, 기본 뷰의 끝에 도달한 경우 true 를 반환합니다.

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

이 함수들은 일반적인 unqualified 또는 qualified lookup 으로는 보이지 않으며, 인수가 std::ranges::take_view:: sentinel <Const> 와 연관된 클래스일 때에만 argument-dependent lookup 을 통해서만 찾을 수 있습니다.

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

목차

매개변수

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

반환값

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

예제

결함 보고서

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

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