Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
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 사이의 거리를 반환합니다.

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

목차

매개변수

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 의 차이 연산이 과도하게 제약됨 요구 사항이 완화됨