From f745d54ec6093c9bf8d954b7abb06359c26f4ba1 Mon Sep 17 00:00:00 2001 From: Eisenwave Date: Sun, 14 Jun 2026 18:40:03 +0200 Subject: [PATCH] P3785R1 Library Wording Changes for Defaulted Postfix Increment and Decrement Operations --- source/iterators.tex | 140 +------- source/ranges.tex | 741 ++++--------------------------------------- source/text.tex | 35 +- 3 files changed, 76 insertions(+), 840 deletions(-) diff --git a/source/iterators.tex b/source/iterators.tex index 317e6a04cc..8c8469c0fa 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -4289,10 +4289,10 @@ constexpr basic_const_iterator& operator++(); constexpr void operator++(int); - constexpr basic_const_iterator operator++(int) requires @\libconcept{forward_iterator}@; + basic_const_iterator operator++(int) requires @\libconcept{forward_iterator}@ = default; constexpr basic_const_iterator& operator--() requires @\libconcept{bidirectional_iterator}@; - constexpr basic_const_iterator operator--(int) requires @\libconcept{bidirectional_iterator}@; + basic_const_iterator operator--(int) = default; constexpr basic_const_iterator& operator+=(difference_type n) requires @\libconcept{random_access_iterator}@; @@ -4522,22 +4522,6 @@ Equivalent to: \tcode{++\exposid{current_};} \end{itemdescr} -\indexlibrarymember{operator++}{basic_const_iterator}% -\begin{itemdecl} -constexpr basic_const_iterator operator++(int) requires @\libconcept{forward_iterator}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{basic_const_iterator}% \begin{itemdecl} constexpr basic_const_iterator& operator--() requires @\libconcept{bidirectional_iterator}@; @@ -4553,22 +4537,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{basic_const_iterator}% -\begin{itemdecl} -constexpr basic_const_iterator operator--(int) requires @\libconcept{bidirectional_iterator}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{basic_const_iterator}% \indexlibrarymember{operator-=}{basic_const_iterator}% \begin{itemdecl} @@ -4828,9 +4796,10 @@ constexpr reference operator*() const; constexpr move_iterator& operator++(); - constexpr auto operator++(int); + constexpr void operator++(int); + move_iterator operator++(int) requires @\libconcept{forward_iterator}@ = default; constexpr move_iterator& operator--(); - constexpr move_iterator operator--(int); + move_iterator operator--(int) = default; constexpr move_iterator operator+(difference_type n) const; constexpr move_iterator& operator+=(difference_type n); @@ -5029,19 +4998,13 @@ \indexlibrarymember{operator++}{move_iterator}% \begin{itemdecl} -constexpr auto operator++(int); +constexpr void operator++(int); \end{itemdecl} \begin{itemdescr} \pnum \effects -If \tcode{Iterator} models \libconcept{forward_iterator}, equivalent to: -\begin{codeblock} -move_iterator tmp = *this; -++current; -return tmp; -\end{codeblock} -Otherwise, equivalent to \tcode{++current}. +Equivalent to \tcode{++current}. \end{itemdescr} \indexlibrarymember{operator--}{move_iterator}% @@ -5059,22 +5022,6 @@ \tcode{*this}. \end{itemdescr} -\indexlibrarymember{operator--}{move_iterator}% -\begin{itemdecl} -constexpr move_iterator operator--(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -As if by: -\begin{codeblock} -move_iterator tmp = *this; ---current; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+}{move_iterator}% \begin{itemdecl} constexpr move_iterator operator+(difference_type n) const; @@ -5479,6 +5426,7 @@ constexpr common_iterator& operator++(); constexpr decltype(auto) operator++(int); + common_iterator operator++(int) requires @\libconcept{forward_iterator}@ = default; template S2> requires @\libconcept{sentinel_for}@ @@ -5729,14 +5677,7 @@ \pnum \effects -If \tcode{I} models \libconcept{forward_iterator}, equivalent to: -\begin{codeblock} -common_iterator tmp = *this; -++*this; -return tmp; -\end{codeblock} -Otherwise, if -\tcode{requires(I\& i) \{ \{ *i++ \} -> \exposconceptnc{can-reference}; \}} +If \tcode{requires(I\& i) \{ \{ *i++ \} -> \exposconceptnc{can-reference}; \}} is \tcode{true} or \begin{codeblock} @\libconcept{indirectly_readable}@ && @\libconcept{constructible_from}@, iter_reference_t> && @@ -5955,12 +5896,11 @@ constexpr counted_iterator& operator++(); constexpr decltype(auto) operator++(int); - constexpr counted_iterator operator++(int) - requires @\libconcept{forward_iterator}@; + counted_iterator operator++(int) + requires @\libconcept{forward_iterator}@ = default; constexpr counted_iterator& operator--() requires @\libconcept{bidirectional_iterator}@; - constexpr counted_iterator operator--(int) - requires @\libconcept{bidirectional_iterator}@; + counted_iterator operator--(int) = default; constexpr counted_iterator operator+(iter_difference_t n) const requires @\libconcept{random_access_iterator}@; @@ -6190,23 +6130,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator++}{counted_iterator}% -\begin{itemdecl} -constexpr counted_iterator operator++(int) - requires @\libconcept{forward_iterator}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -counted_iterator tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{counted_iterator}% \begin{itemdecl} constexpr counted_iterator& operator--() @@ -6224,23 +6147,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{counted_iterator}% -\begin{itemdecl} -constexpr counted_iterator operator--(int) - requires @\libconcept{bidirectional_iterator}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -counted_iterator tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+}{counted_iterator}% \begin{itemdecl} constexpr counted_iterator operator+(iter_difference_t n) const @@ -6548,7 +6454,7 @@ const T& operator*() const; const T* operator->() const; istream_iterator& operator++(); - istream_iterator operator++(int); + istream_iterator operator++(int) = default; friend bool operator==(const istream_iterator& i, default_sentinel_t); @@ -6689,26 +6595,6 @@ \tcode{*this}. \end{itemdescr} -\indexlibrarymember{operator++}{istream_iterator}% -\begin{itemdecl} -istream_iterator operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\expects -\tcode{in_stream != nullptr} is \tcode{true}. - -\pnum -\effects -Equivalent to: -\begin{codeblock} -istream_iterator tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator==}{istream_iterator}% \begin{itemdecl} template diff --git a/source/ranges.tex b/source/ranges.tex index 76ce039fd0..3a0f3c137a 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -3159,10 +3159,10 @@ constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{incrementable}@; + @\exposid{iterator}@ operator++(int) requires @\libconcept{incrementable}@ = default; constexpr @\exposid{iterator}@& operator--() requires @\exposconcept{decrementable}@; - constexpr @\exposid{iterator}@ operator--(int) requires @\exposconcept{decrementable}@; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type n) requires @\exposconcept{advanceable}@; @@ -3269,22 +3269,6 @@ Equivalent to \tcode{++*this}. \end{itemdescr} -\indexlibrarymember{operator++}{iota_view::\exposid{iterator}} -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{incrementable}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{iota_view::\exposid{iterator}} \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\exposconcept{decrementable}@; @@ -3300,22 +3284,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{iota_view::\exposid{iterator}} -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\exposconcept{decrementable}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{iota_view::\exposid{iterator}} \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type n) @@ -3785,10 +3753,10 @@ constexpr const T& operator*() const noexcept; constexpr @\exposid{iterator}@& operator++(); - constexpr @\exposid{iterator}@ operator++(int); + @\exposid{iterator}@ operator++(int) = default; constexpr @\exposid{iterator}@& operator--(); - constexpr @\exposid{iterator}@ operator--(int); + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type n); constexpr @\exposid{iterator}@& operator-=(difference_type n); @@ -3854,22 +3822,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator++}{repeat_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{repeat_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--(); @@ -3890,22 +3842,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{repeat_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{repeat_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type n); @@ -4957,10 +4893,10 @@ constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposidnc{Base}@>; + @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposidnc{Base}@> = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposidnc{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposidnc{Base}@>; + @\exposid{iterator}@ operator--(int) = default; friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y) requires @\libconcept{equality_comparable}@>; @@ -5116,22 +5052,6 @@ Equivalent to \tcode{++*this}. \end{itemdescr} -\indexlibrarymember{operator++}{filter_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{filter_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; @@ -5149,22 +5069,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{filter_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator==}{filter_view::\exposid{iterator}}% \begin{itemdecl} friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y) @@ -5504,10 +5408,10 @@ constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@> = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type n) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -5659,22 +5563,6 @@ Equivalent to \tcode{++\exposid{current_}}. \end{itemdescr} -\indexlibrarymember{operator++}{transform_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{transform_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; @@ -5690,22 +5578,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{transform_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{transform_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type n) @@ -6931,19 +6803,16 @@ constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) + @\exposid{iterator}@ operator++(int) requires @\exposid{ref-is-glvalue}@ && @\libconcept{forward_range}@<@\exposid{Base}@> && - @\libconcept{forward_range}@>; + @\libconcept{forward_range}@> = default; constexpr @\exposid{iterator}@& operator--() requires @\exposid{ref-is-glvalue}@ && @\libconcept{bidirectional_range}@<@\exposid{Base}@> && @\libconcept{bidirectional_range}@> && @\libconcept{common_range}@>; - constexpr @\exposid{iterator}@ operator--(int) - requires @\exposid{ref-is-glvalue}@ && @\libconcept{bidirectional_range}@<@\exposid{Base}@> && - @\libconcept{bidirectional_range}@> && - @\libconcept{common_range}@>; + @\exposid{iterator}@ operator--(int) = default; friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y) requires @\exposid{ref-is-glvalue}@ && @\libconcept{forward_range}@<@\exposid{Base}@> && @@ -7150,24 +7019,6 @@ Equivalent to: \tcode{++*this}. \end{itemdescr} -\indexlibrarymember{operator++}{join_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) - requires @\exposid{ref-is-glvalue}@ && @\libconcept{forward_range}@<@\exposid{Base}@> && - @\libconcept{forward_range}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{join_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() @@ -7190,25 +7041,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{join_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) - requires @\exposid{ref-is-glvalue}@ && @\libconcept{bidirectional_range}@<@\exposid{Base}@> && - @\libconcept{bidirectional_range}@> && - @\libconcept{common_range}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator==}{join_view::\exposid{iterator}}% \begin{itemdecl} friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y) @@ -7502,16 +7334,14 @@ constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) + @\exposid{iterator}@ operator++(int) requires @\exposid{ref-is-glvalue}@ && @\libconcept{forward_iterator}@<@\exposid{OuterIter}@> && - @\libconcept{forward_iterator}@<@\exposid{InnerIter}@>; + @\libconcept{forward_iterator}@<@\exposid{InnerIter}@> = default; constexpr @\exposid{iterator}@& operator--() requires @\exposid{ref-is-glvalue}@ && @\libconcept{bidirectional_range}@<@\exposid{Base}@> && @\exposconcept{bidirectional-common}@<@\exposid{InnerBase}@> && @\exposconcept{bidirectional-common}@<@\exposid{PatternBase}@>; - constexpr @\exposid{iterator}@ operator--(int) - requires @\exposid{ref-is-glvalue}@ && @\libconcept{bidirectional_range}@<@\exposid{Base}@> && - @\exposconcept{bidirectional-common}@<@\exposid{InnerBase}@> && @\exposconcept{bidirectional-common}@<@\exposid{PatternBase}@>; + @\exposid{iterator}@ operator--(int) = default; friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y) requires @\exposid{ref-is-glvalue}@ && @\libconcept{forward_range}@<@\exposid{Base}@> && @@ -7779,23 +7609,6 @@ Equivalent to \tcode{++*this}. \end{itemdescr} -\indexlibrarymember{operator++}{join_with_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) - requires @\exposid{ref-is-glvalue}@ && @\libconcept{forward_iterator}@<@\exposid{OuterIter}@> && @\libconcept{forward_iterator}@<@\exposid{InnerIter}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -@\exposid{iterator}@ tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{join_with_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() @@ -7837,24 +7650,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{join_with_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) - requires @\exposid{ref-is-glvalue}@ && @\libconcept{bidirectional_range}@<@\exposid{Base}@> && - @\exposconcept{bidirectional-common}@<@\exposid{InnerBase}@> && @\exposconcept{bidirectional-common}@<@\exposid{PatternBase}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -@\exposid{iterator}@ tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator==}{join_with_view::\exposid{iterator}}% \begin{itemdecl} friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y) @@ -8120,14 +7915,10 @@ constexpr value_type operator*() const; constexpr @\exposid{outer-iterator}@& operator++(); - constexpr decltype(auto) operator++(int) { - if constexpr (@\libconcept{forward_range}@<@\exposid{Base}@>) { - auto tmp = *this; - ++*this; - return tmp; - } else - ++*this; + constexpr void operator++(int) { + ++*this; } + @\exposid{outer-iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@> = default; friend constexpr bool operator==(const @\exposid{outer-iterator}@& x, const @\exposid{outer-iterator}@& y) requires @\libconcept{forward_range}@<@\exposid{Base}@>; @@ -8354,14 +8145,10 @@ constexpr decltype(auto) operator*() const { return *@\exposid{i_}@.@\placeholder{current}@; } constexpr @\exposid{inner-iterator}@& operator++(); - constexpr decltype(auto) operator++(int) { - if constexpr (@\libconcept{forward_range}@<@\exposid{Base}@>) { - auto tmp = *this; - ++*this; - return tmp; - } else - ++*this; + constexpr void operator++(int) { + ++*this; } + @\exposid{inner-iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@> = default; friend constexpr bool operator==(const @\exposid{inner-iterator}@& x, const @\exposid{inner-iterator}@& y) requires @\libconcept{forward_range}@<@\exposid{Base}@>; @@ -8676,7 +8463,7 @@ constexpr value_type operator*() const; constexpr @\exposid{iterator}@& operator++(); - constexpr @\exposid{iterator}@ operator++(int); + @\exposid{iterator}@ operator++(int) = default; friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y); }; @@ -8744,22 +8531,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator++}{split_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator==}{split_view::\exposid{iterator}}% \begin{itemdecl} friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y); @@ -9135,18 +8906,16 @@ constexpr decltype(auto) operator*() const; constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) - requires @\exposconcept{all-forward}@; + @\exposid{iterator}@ operator++(int) + requires @\exposconcept{all-forward}@ = default; constexpr @\exposid{iterator}@& operator--() requires @\exposconcept{concat-is-bidirectional}@; - constexpr @\exposid{iterator}@ operator--(int) - requires @\exposconcept{concat-is-bidirectional}@; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type n) requires @\exposconcept{concat-is-random-access}@; constexpr @\exposid{iterator}@& operator-=(difference_type n) requires @\exposconcept{concat-is-random-access}@; - constexpr decltype(auto) operator[](difference_type n) const - requires @\exposconcept{concat-is-random-access}@; + @\exposid{iterator}@ operator--(int) = default; friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y) requires (@\libconcept{equality_comparable}@>> && ...); @@ -9425,23 +9194,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator++}{concat_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) - requires @\exposconcept{all-forward}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{concat_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() @@ -9463,23 +9215,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{concat_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) - requires @\exposconcept{concat-is-bidirectional}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{concat_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type n) @@ -10468,10 +10203,10 @@ constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@> = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -10632,9 +10367,9 @@ Equivalent to: \tcode{++\exposid{current_}}. \end{itemdescr} -\indexlibrarymember{operator++}{elements_view::\exposid{iterator}}% +\indexlibrarymember{operator--}{elements_view::\exposid{iterator}}% \begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; +constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; \end{itemdecl} \begin{itemdescr} @@ -10642,15 +10377,15 @@ \effects Equivalent to: \begin{codeblock} -auto temp = *this; -++@\exposid{current_}@; -return temp; +--@\exposid{current_}@; +return *this; \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{elements_view::\exposid{iterator}}% +\indexlibrarymember{operator+=}{elements_view::\exposid{iterator}}% \begin{itemdecl} -constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; +constexpr @\exposid{iterator}@& operator+=(difference_type n) + requires @\libconcept{random_access_range}@<@\exposid{Base}@>; \end{itemdecl} \begin{itemdescr} @@ -10658,14 +10393,15 @@ \effects Equivalent to: \begin{codeblock} ---@\exposid{current_}@; +@\exposid{current_}@ += n; return *this; \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{elements_view::\exposid{iterator}}% +\indexlibrarymember{operator-=}{elements_view::\exposid{iterator}}% \begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; +constexpr @\exposid{iterator}@& operator-=(difference_type n) + requires @\libconcept{random_access_range}@<@\exposid{Base}@>; \end{itemdecl} \begin{itemdescr} @@ -10673,45 +10409,12 @@ \effects Equivalent to: \begin{codeblock} -auto temp = *this; ---@\exposid{current_}@; -return temp; +@\exposid{current_}@ -= n; +return *this; \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator+=}{elements_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@& operator+=(difference_type n) - requires @\libconcept{random_access_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -@\exposid{current_}@ += n; -return *this; -\end{codeblock} -\end{itemdescr} - -\indexlibrarymember{operator-=}{elements_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@& operator-=(difference_type n) - requires @\libconcept{random_access_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -@\exposid{current_}@ -= n; -return *this; -\end{codeblock} -\end{itemdescr} - -\indexlibrarymember{operator==}{elements_view::\exposid{iterator}}% +\indexlibrarymember{operator==}{elements_view::\exposid{iterator}}% \begin{itemdecl} friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y) requires @\libconcept{equality_comparable}@<@\exposid{Base}@>; @@ -11085,10 +10788,10 @@ constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@> = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -11223,22 +10926,6 @@ Equivalent to \tcode{++*this}. \end{itemdescr} -\indexlibrarymember{operator++}{enumerate_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto temp = *this; -++*this; -return temp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{enumerate_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; @@ -11255,22 +10942,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{enumerate_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto temp = *this; ---*this; -return temp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{enumerate_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type n) @@ -11663,10 +11334,10 @@ constexpr auto operator*() const; constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) requires @\exposconcept{all-forward}@; + @\exposid{iterator}@ operator++(int) requires @\exposconcept{all-forward}@ = default; constexpr @\exposid{iterator}@& operator--() requires @\exposconcept{all-bidirectional}@; - constexpr @\exposid{iterator}@ operator--(int) requires @\exposconcept{all-bidirectional}@; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\exposconcept{all-random-access}@; @@ -11790,22 +11461,6 @@ Equivalent to \tcode{++*this}. \end{itemdescr} -\indexlibrarymember{operator++}{izip_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) requires @\exposconcept{all-forward}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{izip_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\exposconcept{all-bidirectional}@; @@ -11821,22 +11476,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{izip_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\exposconcept{all-bidirectional}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{izip_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type x) @@ -12311,10 +11950,10 @@ constexpr decltype(auto) operator*() const noexcept(@\seebelow@); constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@> = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; constexpr @\exposid{iterator}@& operator-=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -12450,22 +12089,6 @@ Equivalent to: \tcode{++*this}. \end{itemdescr} -\indexlibrarymember{operator++}{zip_transform_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{zip_transform_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; @@ -12481,22 +12104,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{zip_transform_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{zip_transform_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type x) @@ -12871,10 +12478,10 @@ constexpr auto operator*() const; constexpr @\exposid{iterator}@& operator++(); - constexpr @\exposid{iterator}@ operator++(int); + @\exposid{iterator}@ operator++(int) = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -13007,22 +12614,6 @@ \tcode{*this}. \end{itemdescr} -\indexlibrarymember{operator++}{adjacent_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{adjacent_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; @@ -13043,22 +12634,6 @@ \tcode{*this}. \end{itemdescr} -\indexlibrarymember{operator--}{adjacent_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{adjacent_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type x) @@ -13554,9 +13129,9 @@ constexpr decltype(auto) operator*() const noexcept(@\seebelow@); constexpr @\exposid{iterator}@& operator++(); - constexpr @\exposid{iterator}@ operator++(int); + @\exposid{iterator}@ operator++(int) = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; constexpr @\exposid{iterator}@& operator-=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -13683,22 +13258,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator++}{adjacent_transform_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{adjacent_transform_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; @@ -13714,22 +13273,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{adjacent_transform_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{adjacent_transform_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -14636,10 +14179,10 @@ constexpr value_type operator*() const; constexpr @\exposid{iterator}@& operator++(); - constexpr @\exposid{iterator}@ operator++(int); + @\exposid{iterator}@ operator++(int) = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -14770,22 +14313,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator++}{chunk_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{chunk_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; @@ -14802,22 +14329,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{chunk_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{chunk_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type x) @@ -15288,10 +14799,10 @@ constexpr auto operator*() const; constexpr @\exposid{iterator}@& operator++(); - constexpr @\exposid{iterator}@ operator++(int); + @\exposid{iterator}@ operator++(int) = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -15422,22 +14933,6 @@ \tcode{*this}. \end{itemdescr} -\indexlibrarymember{operator++}{slide_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{slide_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; @@ -15459,22 +14954,6 @@ \tcode{*this}. \end{itemdescr} -\indexlibrarymember{operator--}{slide_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{slide_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type x) @@ -15943,10 +15422,10 @@ constexpr value_type operator*() const; constexpr @\exposid{iterator}@& operator++(); - constexpr @\exposid{iterator}@ operator++(int); + @\exposid{iterator}@ operator++(int) = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@; + @\exposid{iterator}@ operator--(int) = default; friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y); friend constexpr bool operator==(const @\exposid{iterator}@& x, default_sentinel_t); @@ -16012,22 +15491,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator++}{chunk_by_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{chunk_by_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@; @@ -16044,22 +15507,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{chunk_by_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator==}{chunk_by_view::\exposid{iterator}}% \begin{itemdecl} friend constexpr bool operator==(const @\exposid{iterator}@& x, const @\exposid{iterator}@& y); @@ -16265,10 +15712,10 @@ constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@> = default; constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; - constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type n) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; constexpr @\exposid{iterator}@& operator-=(difference_type n) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -16437,22 +15884,6 @@ Equivalent to \tcode{++*this;} \end{itemdescr} -\indexlibrarymember{operator++}{stride_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{stride_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; @@ -16469,22 +15900,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{stride_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) requires @\libconcept{bidirectional_range}@<@\exposid{Base}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{stride_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type n) requires @\libconcept{random_access_range}@<@\exposid{Base}@>; @@ -16987,12 +16402,11 @@ constexpr auto operator*() const; constexpr @\exposid{iterator}@& operator++(); constexpr void operator++(int); - constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{maybe-const}@>; + @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{maybe-const}@> = default; constexpr @\exposid{iterator}@& operator--() requires @\exposconcept{cartesian-product-is-bidirectional}@; - constexpr @\exposid{iterator}@ operator--(int) - requires @\exposconcept{cartesian-product-is-bidirectional}@; + @\exposid{iterator}@ operator--(int) = default; constexpr @\exposid{iterator}@& operator+=(difference_type x) requires @\exposconcept{cartesian-product-is-random-access}@; @@ -17229,22 +16643,6 @@ Equivalent to \tcode{++*this}. \end{itemdescr} -\indexlibrarymember{operator++}{cartesian_product_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator++(int) requires @\libconcept{forward_range}@<@\exposid{maybe-const}@>; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; -++*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator--}{cartesian_product_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator--() @@ -17261,23 +16659,6 @@ \end{codeblock} \end{itemdescr} -\indexlibrarymember{operator--}{cartesian_product_view::\exposid{iterator}}% -\begin{itemdecl} -constexpr @\exposid{iterator}@ operator--(int) - requires @\exposconcept{cartesian-product-is-bidirectional}@; -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Equivalent to: -\begin{codeblock} -auto tmp = *this; ---*this; -return tmp; -\end{codeblock} -\end{itemdescr} - \indexlibrarymember{operator+=}{cartesian_product_view::\exposid{iterator}}% \begin{itemdecl} constexpr @\exposid{iterator}@& operator+=(difference_type x) diff --git a/source/text.tex b/source/text.tex index 487bcee916..610fdaaedf 100644 --- a/source/text.tex +++ b/source/text.tex @@ -12328,7 +12328,7 @@ const value_type& operator*() const; const value_type* operator->() const; regex_iterator& operator++(); - regex_iterator operator++(int); + regex_iterator operator++(int) = default; private: BidirectionalIterator begin; // \expos @@ -12494,22 +12494,6 @@ \end{note} \end{itemdescr} -\indexlibrarymember{regex_iterator}{operator++}% -\begin{itemdecl} -regex_iterator operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -As if by: -\begin{codeblock} -regex_iterator tmp = *this; -++(*this); -return tmp; -\end{codeblock} -\end{itemdescr} - \rSec3[re.tokiter]{Class template \tcode{regex_token_iterator}} \rSec4[re.tokiter.general]{General} @@ -12635,7 +12619,7 @@ const value_type& operator*() const; const value_type* operator->() const; regex_token_iterator& operator++(); - regex_token_iterator operator++(int); + regex_token_iterator operator++(int) = default; private: using position_iterator = @@ -12815,21 +12799,6 @@ \tcode{*this}. \end{itemdescr} -\indexlibrarymember{regex_token_iterator}{operator++}% -\begin{itemdecl} -regex_token_iterator& operator++(int); -\end{itemdecl} - -\begin{itemdescr} -\pnum -\effects -Constructs a copy \tcode{tmp} of \tcode{*this}, then calls \tcode{++(*this)}. - -\pnum -\returns -\tcode{tmp}. -\end{itemdescr} - \rSec2[re.grammar]{Modified ECMAScript regular expression grammar} \indextext{regular expression!grammar}% \indextext{grammar!regular expression}%