Namespaces
Variants

std::ranges::chunk_view<V>::iterator<Const>::operator++,--,+=,-=

cppreference.net에서
 
 
범위 라이브러리
범위 어댑터
 
std::ranges::chunk_view
멤버 함수
input_range에 대한 클래스
전용 가이드
outer-iterator
::value_typechunk_view::
chunk_view::
 
constexpr /*iterator*/& operator++();
(3) (C++23 이후)
constexpr /*iterator*/ operator++( int );
(4) (C++23 이후)
constexpr /*iterator*/& operator--()
    requires ranges::bidirectional_range<Base>;
(5) (C++23 이후)
constexpr /*iterator*/ operator--( int )
    requires ranges::bidirectional_range<Base>;
(6) (C++23 이후)
constexpr /*iterator*/& operator+=( difference_type x )
    requires ranges::random_access_range<Base>;
전진시키거나 감소시킵니다 iterator
constexpr /*iterator*/& operator-=( difference_type x )
    requires ranges::random_access_range<Base>;
.

parent_, current_, n_를

의 기본 current_데이터 멤버end_로 n_iterator. 1)chunk_view::iterator 다음과 동등합니다:

호출 전에 표현식 은(는)
missing_ = ranges::advance(current_, n_, end_);
return *this;
이어야 하며, 그렇지 않으면 동작이 정의되지 않습니다.current_ != end_2)true 다음과 동등합니다:
.3)auto tmp = *this; ++*this; return tmp; 다음과 동등합니다:
4) 다음과 동등합니다:
ranges::advance(current_, missing_ - n_);
missing_ = 0;
return *this;
.5)auto tmp = *this; --*this; return tmp; 다음과 동등합니다:
이 양수이면 호출 전에 표현식
if (x > 0)
{
    ranges::advance(current_, n_ * (x - 1));
    missing_ = ranges::advance(current_, n_, end_);
}
else if (x < 0)
{
    ranges::advance(current_, n_ * x + missing_);
    missing_ = 0;
}
return *this;
은(는) x이어야 합니다(즉, 비공식적으로 요청된 청크가 기본 시퀀스 "내부"에 있어야 합니다). ranges::distance(current_, end_) > n_ * (x - 1)이 음수이면 이 전제 조건은 항상 충족됩니다.true6)x 다음과 동등합니다:
.return *this += -x;

매개변수

x - 현재 위치 기준 상대적 위치

반환값

1,3,5,6) * this
2,4) 변경 전에 생성된 * this 의 사본

예제

참고 항목

반복자 연산 수행
(함수)