operator+,-(ranges::concat_view::iterator)
cppreference.net에서
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 /* see description */;
|
(5) | (C++26부터) |
friend constexpr difference_type
operator-( std::default_sentinel_t, const /*iterator*/& x )
requires /* see description */;
|
(6) | (C++26부터) |
iterator를 증가 또는 감소시킵니다.
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()라고 할 때:
Ix > Iy이true인 경우,difference_type result = ranges::distance(y.get-iter<Iy>(), y.get-end<Iy>());for (std::size_t I = Iy + 1; I < Ix; I++)result += ranges::distance(x.get-view<I>());return result + ranges::distance(x.get-begin<Ix>(), x.get-iter<Ix>());와 동일합니다.- 그렇지 않고,
Ix < Iy이true인 경우,return -(y - x);와 동일합니다. - 그 외의 경우,
return x.get-iter<Ix>() - y.get-iter<Iy>();와 동일합니다.
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) |