std::ranges::chunk_view<V>:: iterator <Const>:: operator++,--,+=,-=
From cppreference.com
<
cpp
|
ranges
|
chunk view
|
iterator
C++
Ranges library
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
|
std::ranges::chunk_view
Member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (since C++23) |
constexpr
/*iterator*/
operator
++
(
int
)
;
|
(2) | (since C++23) |
constexpr
/*iterator*/
&
operator
--
(
)
requires ranges:: bidirectional_range < Base > ; |
(3) | (since C++23) |
constexpr
/*iterator*/
operator
--
(
int
)
requires ranges:: bidirectional_range < Base > ; |
(4) | (since C++23) |
constexpr
/*iterator*/
&
operator
+
=
(
difference_type x
)
requires ranges:: random_access_range < Base > ; |
(5) | (since C++23) |
constexpr
/*iterator*/
&
operator
-
=
(
difference_type x
)
requires ranges:: random_access_range < Base > ; |
(6) | (since C++23) |
Advances or decrements the iterator .
Let
current_
,
end_
, and
n_
be the underlying
data members
of
chunk_view::iterator
.
1)
Equivalent to:
Before the invocation the expression
current_
!
=
end_
must be
true
, otherwise the behavior is undefined.
missing_ = ranges::advance(current_, n_, end_); return *this;
2)
Equivalent to:
auto
tmp
=
*
this
;
++*
this
;
return
tmp
;
.
3)
Equivalent to:
ranges::advance(current_, missing_ - n_); missing_ = 0; return *this;
4)
Equivalent to:
auto
tmp
=
*
this
;
--*
this
;
return
tmp
;
.
5)
Equivalent to:
If
x
is positive, then before the invocation the expression
ranges::
distance
(
current_, end_
)
>
n_
*
(
x
-
1
)
must be
true
(i.e., informally, the requested chunk should be "inside" the underlying sequence). If
x
is negative, this precondition is always met.
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;
6)
Equivalent to:
return
*
this
+
=
-
x
;
.
Parameters
x | - | a position relative to current location |
Return value
1,3,5,6)
*
this
2,4)
a copy of
*
this
that was made before the change
Example
This section is incomplete
Reason: no example |
See also
(C++23)
|
performs iterator arithmetic
(function) |
Retrieved from "
https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/chunk_view/iterator/operator_arith&oldid=151621
"