diff --git a/source/iterators.tex b/source/iterators.tex index 8a2967da6c..3f036946e0 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -832,10 +832,10 @@ \indexlibraryglobal{indirectly_readable_traits}% \begin{codeblock} -template struct @\placeholder{cond-value-type}@ { }; // \expos +template struct @\exposid{cond-value-type}@ { }; // \expos template requires is_object_v -struct @\placeholder{cond-value-type}@ { +struct @\exposid{cond-value-type}@ { using value_type = remove_cv_t; }; @@ -849,7 +849,7 @@ template struct indirectly_readable_traits - : @\placeholder{cond-value-type}@ { }; + : @\exposid{cond-value-type}@ { }; template requires is_array_v @@ -863,11 +863,11 @@ template<@\exposconcept{has-member-value-type}@ T> struct indirectly_readable_traits - : @\placeholder{cond-value-type}@ { }; + : @\exposid{cond-value-type}@ { }; template<@\exposconcept{has-member-element-type}@ T> struct indirectly_readable_traits - : @\placeholder{cond-value-type}@ { }; + : @\exposid{cond-value-type}@ { }; template<@\exposconcept{has-member-value-type}@ T> requires @\exposconcept{has-member-element-type}@ @@ -877,7 +877,7 @@ requires @\exposconcept{has-member-element-type}@ && @\libconcept{same_as}@, remove_cv_t> struct indirectly_readable_traits - : @\placeholder{cond-value-type}@ { }; + : @\exposid{cond-value-type}@ { }; template using iter_value_t = @\seebelow@; \end{codeblock} @@ -4842,14 +4842,14 @@ operator-(const move_iterator& x, const move_sentinel& y); friend constexpr iter_rvalue_reference_t iter_move(const move_iterator& i) - noexcept(noexcept(ranges::iter_move(i.current))); + noexcept(noexcept(ranges::iter_move(i.@\exposid{current}@))); template<@\libconcept{indirectly_swappable}@ Iterator2> friend constexpr void iter_swap(const move_iterator& x, const move_iterator& y) - noexcept(noexcept(ranges::iter_swap(x.current, y.current))); + noexcept(noexcept(ranges::iter_swap(x.@\exposid{current}@, y.@\exposid{current}@))); private: - Iterator current; // \expos + Iterator @\exposid{current}@; // \expos }; } \end{codeblock} @@ -4913,7 +4913,7 @@ \begin{itemdescr} \pnum \effects -Value-initializes \tcode{current}. +Value-initializes \exposid{current}. \end{itemdescr} @@ -4925,7 +4925,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{current} with \tcode{std::move(i)}. +Initializes \exposid{current} with \tcode{std::move(i)}. \end{itemdescr} @@ -4942,7 +4942,7 @@ \pnum \effects -Initializes \tcode{current} with \tcode{u.current}. +Initializes \exposid{current} with \tcode{u.\exposid{current}}. \end{itemdescr} \indexlibrarymember{operator=}{move_iterator}% @@ -4959,8 +4959,8 @@ \pnum \effects -Assigns \tcode{u.current} to -\tcode{current}. +Assigns \tcode{u.\exposid{current}} to +\exposid{current}. \pnum \returns @@ -4977,7 +4977,7 @@ \begin{itemdescr} \pnum \returns -\tcode{current}. +\exposid{current}. \end{itemdescr} \indexlibrarymember{base}{move_iterator}% @@ -4988,7 +4988,7 @@ \begin{itemdescr} \pnum \returns -\tcode{std::move(current)}. +\tcode{std::move(\exposid{current})}. \end{itemdescr} \rSec3[move.iter.elem]{Element access} @@ -5001,7 +5001,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return ranges::iter_move(current);} +Equivalent to: \tcode{return ranges::iter_move(\exposid{current});} \end{itemdescr} \indexlibrarymember{operator[]}{move_iterator}% @@ -5012,7 +5012,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return ranges::iter_move(current + n);} +Equivalent to: \tcode{return ranges::iter_move(\exposid{current} + n);} \end{itemdescr} \rSec3[move.iter.nav]{Navigation} @@ -5025,7 +5025,7 @@ \begin{itemdescr} \pnum \effects -As if by \tcode{++current}. +As if by \tcode{++\exposid{current}}. \pnum \returns @@ -5043,10 +5043,10 @@ If \tcode{Iterator} models \libconcept{forward_iterator}, equivalent to: \begin{codeblock} move_iterator tmp = *this; -++current; +++@\exposid{current}@; return tmp; \end{codeblock} -Otherwise, equivalent to \tcode{++current}. +Otherwise, equivalent to \tcode{++\exposid{current}}. \end{itemdescr} \indexlibrarymember{operator--}{move_iterator}% @@ -5057,7 +5057,7 @@ \begin{itemdescr} \pnum \effects -As if by \tcode{--current}. +As if by \tcode{--\exposid{current}}. \pnum \returns @@ -5075,7 +5075,7 @@ As if by: \begin{codeblock} move_iterator tmp = *this; ---current; +--@\exposid{current}@; return tmp; \end{codeblock} \end{itemdescr} @@ -5088,7 +5088,7 @@ \begin{itemdescr} \pnum \returns -\tcode{move_iterator(current + n)}. +\tcode{move_iterator(\exposid{current} + n)}. \end{itemdescr} \indexlibrarymember{operator+=}{move_iterator}% @@ -5099,7 +5099,7 @@ \begin{itemdescr} \pnum \effects -As if by: \tcode{current += n;} +As if by: \tcode{\exposid{current} += n;} \pnum \returns @@ -5114,7 +5114,7 @@ \begin{itemdescr} \pnum \returns -\tcode{move_iterator(current - n)}. +\tcode{move_iterator(\exposid{current} - n)}. \end{itemdescr} \indexlibrarymember{operator-=}{move_iterator}% @@ -5125,7 +5125,7 @@ \begin{itemdescr} \pnum \effects -As if by: \tcode{current -= n;} +As if by: \tcode{\exposid{current} -= n;} \pnum \returns @@ -5280,13 +5280,13 @@ \begin{itemdecl} friend constexpr iter_rvalue_reference_t iter_move(const move_iterator& i) - noexcept(noexcept(ranges::iter_move(i.current))); + noexcept(noexcept(ranges::iter_move(i.@\exposid{current}@))); \end{itemdecl} \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return ranges::iter_move(i.current);} +Equivalent to: \tcode{return ranges::iter_move(i.\exposid{current});} \end{itemdescr} \indexlibrarymember{iter_swap}{move_iterator}% @@ -5294,13 +5294,13 @@ template<@\libconcept{indirectly_swappable}@ Iterator2> friend constexpr void iter_swap(const move_iterator& x, const move_iterator& y) - noexcept(noexcept(ranges::iter_swap(x.current, y.current))); + noexcept(noexcept(ranges::iter_swap(x.@\exposid{current}@, y.@\exposid{current}@))); \end{itemdecl} \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{ranges::iter_swap(x.current, y.current)}. +Equivalent to: \tcode{ranges::iter_swap(x.\exposid{current}, y.\exposid{current})}. \end{itemdescr} \indexlibraryglobal{make_move_iterator}% @@ -5357,7 +5357,7 @@ constexpr S base() const; private: - S last; // \expos + S @\exposid{last}@; // \expos }; } \end{codeblock} @@ -5372,7 +5372,7 @@ \begin{itemdescr} \pnum \effects -Value-initializes \tcode{last}. +Value-initializes \exposid{last}. If \tcode{is_trivially_default_constructible_v} is \tcode{true}, then this constructor is a \keyword{constexpr} constructor. \end{itemdescr} @@ -5385,7 +5385,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{last} with \tcode{std::move(s)}. +Initializes \exposid{last} with \tcode{std::move(s)}. \end{itemdescr} \indexlibraryctor{move_sentinel}% @@ -5398,7 +5398,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{last} with \tcode{s.last}. +Initializes \exposid{last} with \tcode{s.\exposid{last}}. \end{itemdescr} \indexlibrarymember{operator=}{move_sentinel}% @@ -5412,7 +5412,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{last = s.last; return *this;} +Equivalent to: \tcode{\exposid{last} = s.\exposid{last}; return *this;} \end{itemdescr} \indexlibrarymember{base}{move_sentinel}% @@ -5423,7 +5423,7 @@ \begin{itemdescr} \pnum \returns -\tcode{last}. +\exposid{last}. \end{itemdescr} \rSec2[iterators.common]{Common iterators} @@ -5507,7 +5507,7 @@ noexcept(noexcept(ranges::iter_swap(declval(), declval()))); private: - variant v_; // \expos + variant @\exposid{v_}@; // \expos }; template @@ -5566,7 +5566,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{v_} as if by \tcode{v_\{in_place_type, std::move(i)\}}. +Initializes \exposid{v_} as if by \tcode{\exposid{v_}\{in_place_type, std::move(i)\}}. \end{itemdescr} \indexlibraryctor{common_iterator}% @@ -5577,8 +5577,8 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{v_} as if by -\tcode{v_\{in_place_type, std::move(s)\}}. +Initializes \exposid{v_} as if by +\tcode{\exposid{v_}\{in_place_type, std::move(s)\}}. \end{itemdescr} \indexlibraryctor{common_iterator}% @@ -5591,13 +5591,13 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{x.v_.valueless_by_exception()} is \tcode{false}. +\tcode{x.\exposid{v_}.valueless_by_exception()} is \tcode{false}. \pnum \effects -Initializes \tcode{v_} as if by -\tcode{v_\{in_place_index<$i$>, get<$i$>(x.v_)\}}, -where $i$ is \tcode{x.v_.index()}. +Initializes \exposid{v_} as if by +\tcode{\exposid{v_}\{in_place_index<$i$>, get<$i$>(x.\exposid{v_})\}}, +where $i$ is \tcode{x.\exposid{v_}.index()}. \end{itemdescr} \indexlibrarymember{operator=}{common_iterator}% @@ -5611,18 +5611,18 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{x.v_.valueless_by_exception()} is \tcode{false}. +\tcode{x.\exposid{v_}.valueless_by_exception()} is \tcode{false}. \pnum \effects Equivalent to: \begin{itemize} -\item If \tcode{v_.index() == x.v_.index()}, then -\tcode{get<$i$>(v_) = get<$i$>(x.v_)}. +\item If \tcode{\exposid{v_}.index() == x.\exposid{v_}.index()}, then +\tcode{get<$i$>(\exposid{v_}) = get<$i$>(x.\exposid{v_})}. -\item Otherwise, \tcode{v_.emplace<$i$>(get<$i$>(x.v_))}. +\item Otherwise, \tcode{\exposid{v_}.emplace<$i$>(get<$i$>(x.\exposid{v_}))}. \end{itemize} -where $i$ is \tcode{x.v_.index()}. +where $i$ is \tcode{x.\exposid{v_}.index()}. \pnum \returns @@ -5641,11 +5641,11 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{holds_alternative(v_)} is \tcode{true}. +\tcode{holds_alternative(\exposid{v_})} is \tcode{true}. \pnum \effects -Equivalent to: \tcode{return *get(v_);} +Equivalent to: \tcode{return *get(\exposid{v_});} \end{itemdescr} \indexlibrarymember{operator->}{common_iterator}% @@ -5666,26 +5666,26 @@ \pnum \hardexpects -\tcode{holds_alternative(v_)} is \tcode{true}. +\tcode{holds_alternative(\exposid{v_})} is \tcode{true}. \pnum \effects \begin{itemize} \item If \tcode{I} is a pointer type or if the expression -\tcode{get(v_).operator->()} is -well-formed, equivalent to: \tcode{return get(v_);} +\tcode{get(\exposid{v_}).operator->()} is +well-formed, equivalent to: \tcode{return get(\exposid{v_});} \item Otherwise, if \tcode{iter_reference_t} is a reference type, equivalent to: \begin{codeblock} -auto&& tmp = *get(v_); +auto&& tmp = *get(@\exposid{v_}@); return addressof(tmp); \end{codeblock} \item Otherwise, equivalent to: -\tcode{return \exposid{proxy}(*get(v_));} where +\tcode{return \exposid{proxy}(*get(\exposid{v_}));} where \exposid{proxy} is the exposition-only class: \begin{codeblock} class @\exposid{proxy}@ { @@ -5711,11 +5711,11 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{holds_alternative(v_)} is \tcode{true}. +\tcode{holds_alternative(\exposid{v_})} is \tcode{true}. \pnum \effects -Equivalent to \tcode{++get(v_)}. +Equivalent to \tcode{++get(\exposid{v_})}. \pnum \returns @@ -5730,7 +5730,7 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{holds_alternative(v_)} is \tcode{true}. +\tcode{holds_alternative(\exposid{v_})} is \tcode{true}. \pnum \effects @@ -5750,7 +5750,7 @@ is \tcode{false}, equivalent to: \begin{codeblock} -return get(v_)++; +return get(@\exposid{v_}@)++; \end{codeblock} Otherwise, equivalent to: \begin{codeblock} @@ -5785,14 +5785,14 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} +\tcode{x.\exposid{v_}.valueless_by_exception()} and \tcode{y.\exposid{v_}.valueless_by_exception()} are each \tcode{false}. \pnum \returns \tcode{true} if \tcode{$i$ == $j$}, -and otherwise \tcode{get<$i$>(x.v_) == get<$j$>(y.v_)}, -where $i$ is \tcode{x.v_.index()} and $j$ is \tcode{y.v_.index()}. +and otherwise \tcode{get<$i$>(x.\exposid{v_}) == get<$j$>(y.\exposid{v_})}, +where $i$ is \tcode{x.\exposid{v_}.index()} and $j$ is \tcode{y.\exposid{v_}.index()}. \end{itemdescr} \indexlibrarymember{operator==}{common_iterator}% @@ -5806,14 +5806,14 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} +\tcode{x.\exposid{v_}.valueless_by_exception()} and \tcode{y.\exposid{v_}.valueless_by_exception()} are each \tcode{false}. \pnum \returns \tcode{true} if $i$ and $j$ are each \tcode{1}, and otherwise -\tcode{get<$i$>(x.v_) == get<$j$>(y.v_)}, where -$i$ is \tcode{x.v_.index()} and $j$ is \tcode{y.v_.index()}. +\tcode{get<$i$>(x.\exposid{v_}) == get<$j$>(y.\exposid{v_})}, where +$i$ is \tcode{x.\exposid{v_}.index()} and $j$ is \tcode{y.\exposid{v_}.index()}. \end{itemdescr} \indexlibrarymember{operator-}{common_iterator}% @@ -5827,14 +5827,14 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} +\tcode{x.\exposid{v_}.valueless_by_exception()} and \tcode{y.\exposid{v_}.valueless_by_exception()} are each \tcode{false}. \pnum \returns \tcode{0} if $i$ and $j$ are each \tcode{1}, and otherwise -\tcode{get<$i$>(x.v_) - get<$j$>(y.v_)}, where -$i$ is \tcode{x.v_.index()} and $j$ is \tcode{y.v_.index()}. +\tcode{get<$i$>(x.\exposid{v_}) - get<$j$>(y.\exposid{v_})}, where +$i$ is \tcode{x.\exposid{v_}.index()} and $j$ is \tcode{y.\exposid{v_}.index()}. \end{itemdescr} \rSec3[common.iter.cust]{Customizations} @@ -5849,11 +5849,11 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{holds_alternative(i.v_)} is \tcode{true}. +\tcode{holds_alternative(i.\exposid{v_})} is \tcode{true}. \pnum \effects -Equivalent to: \tcode{return ranges::iter_move(get(i.v_));} +Equivalent to: \tcode{return ranges::iter_move(get(i.\exposid{v_}));} \end{itemdescr} \indexlibrarymember{iter_swap}{common_iterator}% @@ -5866,12 +5866,12 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{holds_alternative(x.v_)} and \tcode{holds_alternative(y.v_)} +\tcode{holds_alternative(x.\exposid{v_})} and \tcode{holds_alternative(y.\exposid{v_})} are each \tcode{true}. \pnum \effects -Equivalent to \tcode{ranges::iter_swap(get(x.v_), get(y.v_))}. +Equivalent to \tcode{ranges::iter_swap(get(x.\exposid{v_}), get(y.\exposid{v_}))}. \end{itemdescr} \rSec2[default.sentinel]{Default sentinel} @@ -6001,15 +6001,15 @@ const counted_iterator& x, const counted_iterator& y); friend constexpr decltype(auto) iter_move(const counted_iterator& i) - noexcept(noexcept(ranges::iter_move(i.current))) + noexcept(noexcept(ranges::iter_move(i.@\exposid{current}@))) requires @\libconcept{input_iterator}@; template<@\libconcept{indirectly_swappable}@ I2> friend constexpr void iter_swap(const counted_iterator& x, const counted_iterator& y) - noexcept(noexcept(ranges::iter_swap(x.current, y.current))); + noexcept(noexcept(ranges::iter_swap(x.@\exposid{current}@, y.@\exposid{current}@))); private: - I current = I(); // \expos - iter_difference_t length = 0; // \expos + I @\exposid{current}@ = I(); // \expos + iter_difference_t @\exposid{length}@ = 0; // \expos }; template<@\libconcept{input_iterator}@ I> @@ -6035,8 +6035,8 @@ \pnum \effects -Initializes \tcode{current} with \tcode{std::move(i)} and -\tcode{length} with \tcode{n}. +Initializes \exposid{current} with \tcode{std::move(i)} and +\exposid{length} with \tcode{n}. \end{itemdescr} \indexlibraryctor{counted_iterator}% @@ -6049,8 +6049,8 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{current} with \tcode{x.current} and -\tcode{length} with \tcode{x.length}. +Initializes \exposid{current} with \tcode{x.\exposid{current}} and +\exposid{length} with \tcode{x.\exposid{length}}. \end{itemdescr} \indexlibrarymember{operator=}{counted_iterator}% @@ -6063,8 +6063,8 @@ \begin{itemdescr} \pnum \effects -Assigns \tcode{x.current} to \tcode{current} and -\tcode{x.length} to \tcode{length}. +Assigns \tcode{x.\exposid{current}} to \exposid{current} and +\tcode{x.\exposid{length}} to \exposid{length}. \pnum \returns @@ -6081,7 +6081,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return current;} +Equivalent to: \tcode{return \exposid{current};} \end{itemdescr} \indexlibrarymember{base}{counted_iterator}% @@ -6092,7 +6092,7 @@ \begin{itemdescr} \pnum \returns -\tcode{std::move(current)}. +\tcode{std::move(\exposid{current})}. \end{itemdescr} \indexlibrarymember{count}{counted_iterator}% @@ -6103,7 +6103,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return length;} +Equivalent to: \tcode{return \exposid{length};} \end{itemdescr} \rSec3[counted.iter.elem]{Element access} @@ -6118,11 +6118,11 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{length > 0} is \tcode{true}. +\tcode{\exposid{length} > 0} is \tcode{true}. \pnum \effects -Equivalent to: \tcode{return *current;} +Equivalent to: \tcode{return *\exposid{current};} \end{itemdescr} \indexlibrarymember{operator->}{counted_iterator}% @@ -6134,7 +6134,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return to_address(current);} +Equivalent to: \tcode{return to_address(\exposid{current});} \end{itemdescr} \indexlibrarymember{operator[]}{counted_iterator}% @@ -6150,7 +6150,7 @@ \pnum \effects -Equivalent to: \tcode{return current[n];} +Equivalent to: \tcode{return \exposid{current}[n];} \end{itemdescr} \rSec3[counted.iter.nav]{Navigation} @@ -6163,14 +6163,14 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{length > 0} is \tcode{true}. +\tcode{\exposid{length} > 0} is \tcode{true}. \pnum \effects Equivalent to: \begin{codeblock} -++current; ---length; +++@\exposid{current}@; +--@\exposid{length}@; return *this; \end{codeblock} \end{itemdescr} @@ -6183,15 +6183,15 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{length > 0} is \tcode{true}. +\tcode{\exposid{length} > 0} is \tcode{true}. \pnum \effects Equivalent to: \begin{codeblock} ---length; -try { return current++; } -catch(...) { ++length; throw; } +--@\exposid{length}@; +try { return @\exposid{current}@++; } +catch(...) { ++@\exposid{length}@; throw; } \end{codeblock} \end{itemdescr} @@ -6223,8 +6223,8 @@ \effects Equivalent to: \begin{codeblock} ---current; -++length; +--@\exposid{current}@; +++@\exposid{length}@; return *this; \end{codeblock} \end{itemdescr} @@ -6255,7 +6255,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return counted_iterator(current + n, length - n);} +Equivalent to: \tcode{return counted_iterator(\exposid{current} + n, \exposid{length} - n);} \end{itemdescr} \indexlibrarymember{operator+}{counted_iterator}% @@ -6280,14 +6280,14 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{n <= length} is \tcode{true}. +\tcode{n <= \exposid{length} is \tcode{true}}. \pnum \effects Equivalent to: \begin{codeblock} -current += n; -length -= n; +@\exposid{current}@ += n; +@\exposid{length}@ -= n; return *this; \end{codeblock} \end{itemdescr} @@ -6301,7 +6301,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return counted_iterator(current - n, length + n);} +Equivalent to: \tcode{return counted_iterator(\exposid{current} - n, \exposid{length} + n);} \end{itemdescr} \indexlibrarymember{operator-}{counted_iterator}% @@ -6319,7 +6319,7 @@ \pnum \effects -Equivalent to: \tcode{return y.length - x.length;} +Equivalent to: \tcode{return y.\exposid{length} - x.\exposid{length};} \end{itemdescr} \indexlibrarymember{operator-}{counted_iterator}% @@ -6332,7 +6332,7 @@ \pnum \effects Equivalent to: -\tcode{return -x.length;} +\tcode{return -x.\exposid{length};} \end{itemdescr} \indexlibrarymember{operator-}{counted_iterator}% @@ -6344,7 +6344,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return y.length;} +Equivalent to: \tcode{return y.\exposid{length};} \end{itemdescr} \indexlibrarymember{operator-=}{counted_iterator}% @@ -6356,14 +6356,14 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{-n <= length} is \tcode{true}. +\tcode{-n <= \exposid{length} is \tcode{true}}. \pnum \effects Equivalent to: \begin{codeblock} -current -= n; -length += n; +@\exposid{current}@ -= n; +@\exposid{length}@ += n; return *this; \end{codeblock} \end{itemdescr} @@ -6385,7 +6385,7 @@ \pnum \effects -Equivalent to: \tcode{return x.length == y.length;} +Equivalent to: \tcode{return x.\exposid{length} == y.\exposid{length};} \end{itemdescr} \indexlibrarymember{operator==}{counted_iterator}% @@ -6397,7 +6397,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return x.length == 0;} +Equivalent to: \tcode{return x.\exposid{length} == 0;} \end{itemdescr} \indexlibrarymember{operator<=>}{counted_iterator}% @@ -6415,12 +6415,12 @@ \pnum \effects -Equivalent to: \tcode{return y.length <=> x.length;} +Equivalent to: \tcode{return y.\exposid{length} <=> x.\exposid{length};} \pnum \begin{note} The argument order in the \effects element is reversed -because \tcode{length} counts down, not up. +because \exposid{length} counts down, not up. \end{note} \end{itemdescr} @@ -6430,18 +6430,18 @@ \begin{itemdecl} friend constexpr decltype(auto) iter_move(const counted_iterator& i) - noexcept(noexcept(ranges::iter_move(i.current))) + noexcept(noexcept(ranges::iter_move(i.@\exposid{current}@))) requires @\libconcept{input_iterator}@; \end{itemdecl} \begin{itemdescr} \pnum \hardexpects -\tcode{i.length > 0} is \tcode{true}. +\tcode{i.\exposid{length} > 0} is \tcode{true}. \pnum \effects -Equivalent to: \tcode{return ranges::iter_move(i.current);} +Equivalent to: \tcode{return ranges::iter_move(i.\exposid{current});} \end{itemdescr} \indexlibrarymember{iter_swap}{counted_iterator}% @@ -6449,17 +6449,17 @@ template<@\libconcept{indirectly_swappable}@ I2> friend constexpr void iter_swap(const counted_iterator& x, const counted_iterator& y) - noexcept(noexcept(ranges::iter_swap(x.current, y.current))); + noexcept(noexcept(ranges::iter_swap(x.@\exposid{current}@, y.@\exposid{current}@))); \end{itemdecl} \begin{itemdescr} \pnum \hardexpects -Both \tcode{x.length > 0} and \tcode{y.length > 0} are \tcode{true}. +Both \tcode{x.\exposid{length} > 0} and \tcode{y.\exposid{length} > 0} are \tcode{true}. \pnum \effects -Equivalent to \tcode{ranges::iter_swap(x.current, y.current)}. +Equivalent to \tcode{ranges::iter_swap(x.\exposid{current}, y.\exposid{current})}. \end{itemdescr} \rSec2[unreachable.sentinel]{Unreachable sentinel} @@ -6558,8 +6558,8 @@ friend bool operator==(const istream_iterator& i, default_sentinel_t); private: - basic_istream* in_stream; // \expos - T value; // \expos + basic_istream* @\exposid{in-stream}@; // \expos + T @\exposid{value}@; // \expos }; } \end{codeblock} @@ -6579,11 +6579,11 @@ \begin{itemdescr} \pnum \effects -Constructs the end-of-stream iterator, value-initializing \tcode{value}. +Constructs the end-of-stream iterator, value-initializing \exposid{value}. \pnum \ensures -\tcode{in_stream == nullptr} is \tcode{true}. +\tcode{\exposid{in-stream} == nullptr} is \tcode{true}. \pnum \remarks @@ -6601,9 +6601,9 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{in_stream} with \tcode{addressof(s)}, -value-initializes \tcode{value}, -and then calls \tcode{operator++()}. +Initializes \exposid{in-stream} with \tcode{addressof(s)}, +value-initializes \exposid{value}, +and then calls\linebreak \tcode{operator++()}. \end{itemdescr} @@ -6615,13 +6615,13 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{in_stream} with \tcode{x.in_stream} and -initializes \tcode{value} with \tcode{x.value}. +Initializes \exposid{in-stream} with \tcode{x.\exposid{in-stream}} and +initializes \exposid{value} with \tcode{x.\exposid{value}}. \pnum \remarks An invocation of this constructor may be used in a core constant expression -if and only if the initialization of \tcode{value} from \tcode{x.value} +if and only if the initialization of \exposid{value} from \tcode{x.\exposid{value}} is a constant subexpression\iref{defns.const.subexpr}. The exception specification is equivalent to \tcode{is_nothrow_copy_constructible_v}. @@ -6649,11 +6649,11 @@ \begin{itemdescr} \pnum \expects -\tcode{in_stream != nullptr} is \tcode{true}. +\tcode{\exposid{in-stream} != nullptr} is \tcode{true}. \pnum \returns -\tcode{value}. +\exposid{value}. \end{itemdescr} \indexlibrarymember{operator->}{istream_iterator}% @@ -6664,11 +6664,11 @@ \begin{itemdescr} \pnum \expects -\tcode{in_stream != nullptr} is \tcode{true}. +\tcode{\exposid{in-stream} != nullptr} is \tcode{true}. \pnum \returns -\tcode{addressof(value)}. +\tcode{addressof(\exposid{value})}. \end{itemdescr} \indexlibrarymember{operator++}{istream_iterator}% @@ -6679,14 +6679,14 @@ \begin{itemdescr} \pnum \expects -\tcode{in_stream != nullptr} is \tcode{true}. +\tcode{\exposid{in-stream} != nullptr} is \tcode{true}. \pnum \effects Equivalent to: \begin{codeblock} -if (!(*in_stream >> value)) - in_stream = nullptr; +if (!(*@\exposid{in-stream}@ >> \exposid{value})) + @\exposid{in-stream}@ = nullptr; \end{codeblock} \pnum @@ -6702,7 +6702,7 @@ \begin{itemdescr} \pnum \expects -\tcode{in_stream != nullptr} is \tcode{true}. +\tcode{\exposid{in-stream} != nullptr} is \tcode{true}. \pnum \effects @@ -6724,7 +6724,7 @@ \begin{itemdescr} \pnum \returns -\tcode{x.in_stream == y.in_stream}. +\tcode{x.\exposid{in-stream} == y.\exposid{in-stream}}. \end{itemdescr} \indexlibrarymember{operator==}{istream_iterator}% @@ -6735,7 +6735,7 @@ \begin{itemdescr} \pnum \returns -\tcode{!i.in_stream}. +\tcode{!i.\exposid{in-stream}}. \end{itemdescr} \rSec2[ostream.iterator]{Class template \tcode{ostream_iterator}} @@ -6782,8 +6782,8 @@ ostream_iterator& operator++(int); private: - basic_ostream* out_stream; // \expos - const charT* delim; // \expos + basic_ostream* @\exposid{out-stream}@; // \expos + const charT* @\exposid{delim}@; // \expos }; } \end{codeblock} @@ -6798,8 +6798,8 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{out_stream} with \tcode{addressof(s)} and -\tcode{delim} with \keyword{nullptr}. +Initializes \exposid{out-stream} with \tcode{addressof(s)} and +\exposid{delim} with \keyword{nullptr}. \end{itemdescr} @@ -6811,8 +6811,8 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{out_stream} with \tcode{addressof(s)} and -\tcode{delim} with \tcode{delimiter}. +Initializes \exposid{out-stream} with \tcode{addressof(s)} and +\exposid{delim} with \tcode{delimiter}. \end{itemdescr} \rSec3[ostream.iterator.ops]{Operations} @@ -6827,9 +6827,9 @@ \effects As if by: \begin{codeblock} -*out_stream << value; -if (delim) - *out_stream << delim; +*@\exposid{out-stream}@ << value; +if (@\exposid{delim}@) + *@\exposid{out-stream}@ << @\exposid{delim}@; return *this; \end{codeblock} \end{itemdescr} @@ -6934,7 +6934,7 @@ friend bool operator==(const istreambuf_iterator& i, default_sentinel_t s); private: - streambuf_type* sbuf_; // \expos + streambuf_type* @\exposid{sbuf_}@; // \expos }; } \end{codeblock} @@ -6975,7 +6975,7 @@ \pnum For each \tcode{istreambuf_iterator} constructor in this subclause, an end-of-stream iterator is constructed if and only if -the exposition-only member \tcode{sbuf_} is initialized with a null pointer value. +the exposition-only member \exposid{sbuf_} is initialized with a null pointer value. \indexlibraryctor{istreambuf_iterator}% @@ -6987,7 +6987,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{sbuf_} with \keyword{nullptr}. +Initializes \exposid{sbuf_} with \keyword{nullptr}. \end{itemdescr} @@ -6999,7 +6999,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{sbuf_} with \tcode{s.rdbuf()}. +Initializes \exposid{sbuf_} with \tcode{s.rdbuf()}. \end{itemdescr} @@ -7011,7 +7011,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{sbuf_} with \tcode{s}. +Initializes \exposid{sbuf_} with \tcode{s}. \end{itemdescr} @@ -7023,7 +7023,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{sbuf_} with \tcode{p.sbuf_}. +Initializes \exposid{sbuf_} with \tcode{p.sbuf_}. \end{itemdescr} \rSec3[istreambuf.iterator.ops]{Operations} @@ -7039,7 +7039,7 @@ The character obtained via the \tcode{streambuf} member -\tcode{sbuf_->sgetc()}. +\tcode{\exposid{sbuf_}->sgetc()}. \end{itemdescr} \indexlibrarymember{operator++}{istreambuf_iterator}% @@ -7050,7 +7050,7 @@ \begin{itemdescr} \pnum \effects -As if by \tcode{sbuf_->sbumpc()}. +As if by \tcode{\exposid{sbuf_}->sbumpc()}. \pnum \returns @@ -7065,7 +7065,7 @@ \begin{itemdescr} \pnum \returns -\tcode{\exposid{proxy}(sbuf_->sbumpc(), sbuf_)}. +\tcode{\exposid{proxy}(\exposid{sbuf_}->sbumpc(), \exposid{sbuf_})}. \end{itemdescr} \indexlibrarymember{equal}{istreambuf_iterator}% @@ -7142,7 +7142,7 @@ bool failed() const noexcept; private: - streambuf_type* sbuf_; // \expos + streambuf_type* @\exposid{sbuf_}@; // \expos }; } \end{codeblock} @@ -7162,7 +7162,7 @@ \pnum \effects -Initializes \tcode{sbuf_} with \tcode{s.rdbuf()}. +Initializes \exposid{sbuf_} with \tcode{s.rdbuf()}. \end{itemdescr} @@ -7179,7 +7179,7 @@ \pnum \effects -Initializes \tcode{sbuf_} with \tcode{s}. +Initializes \exposid{sbuf_} with \tcode{s}. \end{itemdescr} \rSec3[ostreambuf.iter.ops]{Operations} @@ -7197,7 +7197,7 @@ yields \tcode{false}, calls -\tcode{sbuf_->sputc(c)}; +\tcode{\exposid{sbuf_}->sputc(c)}; otherwise has no effect. \pnum @@ -7240,7 +7240,7 @@ if in any prior use of member \tcode{operator=}, the call to -\tcode{sbuf_->sputc()} +\tcode{\exposid{sbuf_}->sputc()} returned \tcode{traits::eof()}; or