Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
friend constexpr /*iterator*/

operator + ( const /*iterator*/ & it, difference_type n )

requires /*concat-is-random-access*/ < Const, Views... > ;
(1) (начиная с C++26)
friend constexpr /*iterator*/

operator + ( difference_type n, const /*iterator*/ & it )

requires /*concat-is-random-access*/ < Const, Views... > ;
(2) (начиная с C++26)
friend constexpr /*iterator*/

operator - ( const /*iterator*/ & it, difference_type n )

requires /*concat-is-random-access*/ < Const, Views... > ;
(3) (начиная с C++26)
friend constexpr difference_type

operator - ( const /*iterator*/ & x, const /*iterator*/ & y )

requires /*concat-is-random-access*/ < Const, Views... > ;
(4) (начиная с C++26)
friend constexpr difference_type

operator - ( const /*iterator*/ & x, std:: default_sentinel_t )

requires /* см. описание */ ;
(5) (начиная с C++26)
friend constexpr difference_type

operator - ( std:: default_sentinel_t , const /*iterator*/ & x )

requires /* см. описание */ ;
(6) (начиная с C++26)

Увеличивает или уменьшает итератор .

1) Эквивалентно auto t = it ; t + = n ; return t ; .
2) Эквивалентно return it + n ; .
3) Эквивалентно auto t = it ; t - = n ; return t ; .
4) Пусть Ix будет x. it_  . index ( ) и Iy будет y. it_  . index ( ) :
Если x. it_  . valueless_by_exception ( ) || y. it_  . valueless_by_exception ( ) равно true , поведение не определено.
5) Пусть Ix будет x. it_  . index ( ) , эквивалентно difference_type result = ranges:: distance ( x. get-iter  < Ix > ( ) , x. get-end  < Ix > ( ) ) ;
for ( std:: size_t I = Ix + 1 , count = sizeof... ( Views ) ; I < count ; I ++ )
result + = ranges:: distance ( x. get-view  < I > ( ) ) ;
return - result ;
.
Пусть Fs будет пакетом, содержащим все элементы Views кроме первого элемента, выражение в предложении requires эквивалентно

( std:: sized_sentinel_for < ranges:: sentinel_t < maybe-const  < Const, Views >> ,
ranges:: iterator_t < maybe-const  < Const, Views >>> && ... ) &&
( ranges:: sized_range < maybe-const  < Const, Fs >> && ... )

.
Если x. it_  . valueless_by_exception ( ) равно true , поведение не определено.
6) Эквивалентно return - ( x - std:: default_sentinel ) ; .
Пусть Fs будет пакетом, содержащим все элементы Views кроме первого элемента, выражение в requires клаузе эквивалентно

( std:: sized_sentinel_for < ranges:: sentinel_t < maybe-const  < Const, Views >> ,
ranges:: iterator_t < maybe-const  < Const, Views >>> && ... ) &&
( ranges:: sized_range < maybe-const  < Const, Fs >> && ... )

.
Если x. it_  . valueless_by_exception ( ) равно true , поведение не определено.

Эти функции не видны при обычном неквалифицированном или квалифицированном поиске и могут быть найдены только с помощью поиска, зависимого от аргументов , когда concat_view:: iterator <Const> является ассоциированным классом аргументов.

Содержание

Параметры

it, x, y - the iterators
n - позиция относительно текущего местоположения

Возвращаемое значение

Как описано выше.

Пример

Смотрите также

перемещает или уменьшает базовый итератор
(public member function)