operator+,-(ranges::transform_view::iterator)
cppreference.net에서 가져옴
friend constexpr /*iterator*/ operator+( /*iterator*/ i, difference_type n )
requires ranges::random_access_range<Base>;
|
(1) | (C++20부터) |
friend constexpr /*iterator*/ operator+( difference_type n, /*iterator*/ i )
requires ranges::random_access_range<Base>;
|
(2) | (C++20부터) |
friend constexpr /*iterator*/ operator-( /*iterator*/ i, difference_type n )
requires ranges::random_access_range<Base>;
|
(3) | (C++20부터) |
friend constexpr difference_type operator-( const /*iterator*/& x,
const /*iterator*/& y )
requires std::sized_sentinel_for<ranges::iterator_t<Base>,
ranges::iterator_t<Base>>;
|
(4) | (C++20부터) |
1,2) 반복자
i를 n만큼 증가시킨 값을 반환합니다.3) 반복자
i를 n만큼 감소시킨 값을 반환합니다.4)
x와(과) y의 차이를 반환합니다.이 함수들은 일반적인 비한정 또는 한정 조회로는 보이지 않으며, 인자 종속 조회를 통해서만 찾을 수 있습니다. 단, transform_view::iterator<Const>이(가) 인자의 연관 클래스인 경우에 한합니다.
매개변수
| i, x, y | - | 반복자들. |
| n | - | 현재 위치 기준 상대적 위치. |
반환값
parent_
가 부모
transform_view
에 대한 포인터를 나타내고,
current_
가 기본 반복자를 나타낸다고 가정합니다.
1,2)
/*iterator*/
{
*
i.
parent_
, i.
current_
+
n
}
3)
/*iterator*/
{
*
i.
parent_
, i.
current_
-
n
}
4)
x.
current_
-
y.
current_
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 3483 | C++20 |
transform_view::iterator
의 차이 연산이 과도하게 제약됨
|
요구 사항이 완화됨 |