Namespaces
Variants

operator+,-(ranges::transform_view::iterator)

cppreference.net에서 가져옴
 
 
Ranges 라이브러리
Range 어댑터
 
 
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 의 차이 연산이 과도하게 제약됨 요구 사항이 완화됨