operator==(std::ranges::take_view::sentinel<Const>)
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
의 반복자와 센티널 간 비교가 지원되지 않음
|
가능한 경우 지원하도록 변경 |