Skip to content

Commit a572819

Browse files
burblebeetkoeppe
authored andcommitted
LWG3851 chunk_view::inner-iterator missing custom iter_move and iter_swap
1 parent 08c4a14 commit a572819

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

source/ranges.tex

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12031,6 +12031,13 @@
1203112031
requires @\libconcept{sized_sentinel_for}@<sentinel_t<V>, iterator_t<V>>;
1203212032
friend constexpr difference_type operator-(const @\exposid{inner-iterator}@& x, default_sentinel_t y)
1203312033
requires @\libconcept{sized_sentinel_for}@<sentinel_t<V>, iterator_t<V>>;
12034+
12035+
friend constexpr range_rvalue_reference_t<V> iter_move(const @\exposid{inner-iterator}@& i)
12036+
noexcept(noexcept(ranges::iter_move(*i.@\exposid{parent_}@->@\exposid{current_}@)));
12037+
12038+
friend constexpr void iter_swap(const @\exposid{inner-iterator}@& x, const @\exposid{inner-iterator}@& y)
12039+
noexcept(noexcept(ranges::iter_swap(*x.@\exposid{parent_}@->@\exposid{current_}@, *y.@\exposid{parent_}@->@\exposid{current_}@)))
12040+
requires @\libconcept{indirectly_swappable}@<iterator_t<V>>;
1203412041
};
1203512042
}
1203612043
\end{codeblock}
@@ -12137,6 +12144,29 @@
1213712144
Equivalent to: \tcode{return -(y - x);}
1213812145
\end{itemdescr}
1213912146

12147+
\begin{itemdecl}
12148+
friend constexpr range_rvalue_reference_t<V> iter_move(const @\exposid{inner-iterator}@& i)
12149+
noexcept(noexcept(ranges::iter_move(*i.@\exposid{parent_}@->@\exposid{current_}@)));
12150+
\end{itemdecl}
12151+
12152+
\begin{itemdescr}
12153+
\pnum
12154+
\effects
12155+
Equivalent to: \tcode{return ranges::iter_move(*i.\exposid{parent_}->\exposid{current_});}
12156+
\end{itemdescr}
12157+
12158+
\begin{itemdecl}
12159+
friend constexpr void iter_swap(const @\exposid{inner-iterator}@& x, const @\exposid{inner-iterator}@& y)
12160+
noexcept(noexcept(ranges::iter_swap(*x.@\exposid{parent_}@->@\exposid{current_}@, *y.@\exposid{parent_}@->@\exposid{current_}@)))
12161+
requires @\libconcept{indirectly_swappable}@<iterator_t<V>>;
12162+
\end{itemdecl}
12163+
12164+
\begin{itemdescr}
12165+
\pnum
12166+
\effects
12167+
Equivalent to: \tcode{ranges::iter_swap(*x.\exposid{parent_}->\exposid{current_}, *y.\exposid{parent_}->\exposid{current_});}
12168+
\end{itemdescr}
12169+
1214012170
\rSec3[range.chunk.view.fwd]{Class template \tcode{chunk_view} for forward ranges}
1214112171

1214212172
\indexlibrarymember{begin}{chunk_view}%

0 commit comments

Comments
 (0)