Namespaces
Variants

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

cppreference.net에서
 
 
범위 라이브러리
범위 어댑터
 
 
friend constexpr /*iterator*/ operator+( const /*iterator*/& i, difference_type n )
    requires ranges::random_access_range<Base>;
(1) (C++20부터)
friend constexpr /*iterator*/ operator+( difference_type n, const /*iterator*/& i )
    requires ranges::random_access_range<Base>;
(2) (C++20부터)
friend constexpr /*iterator*/ operator-( const /*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 사이의 거리를 반환합니다.

이 함수들은 일반적인 비한정 또는 한정 조회에서 볼 수 없으며, 오직 인자 종속 조회를 통해서만 찾을 수 있습니다. elements_view::iterator<Const>는 인자의 연관 클래스입니다.

매개변수

i, x, y - 반복자
n - 현재 위치 기준 상대적 위치

반환값

1,2) [ & ] { auto j = i ; j + = n ; return j ; } ( )
3) [ & ] { auto j = i ; j - = n ; return j ; } ( )
4) x. base ( ) - y. base ( )

예제

결함 보고서

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

DR 적용 대상 게시된 동작 올바른 동작
LWG 3483 C++20 elements_view::iterator 의 차이 연산이 과도하게 제약됨 요구 사항이 완화됨