diff --git a/source/iterators.tex b/source/iterators.tex index e0116c79d8..60a1fe5b7e 100644 --- a/source/iterators.tex +++ b/source/iterators.tex @@ -820,10 +820,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; }; @@ -837,7 +837,7 @@ template struct indirectly_readable_traits - : @\placeholder{cond-value-type}@ { }; + : @\exposid{cond-value-type}@ { }; template requires is_array_v @@ -851,11 +851,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}@ @@ -865,7 +865,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} @@ -4830,14 +4830,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} @@ -4901,7 +4901,7 @@ \begin{itemdescr} \pnum \effects -Value-initializes \tcode{current}. +Value-initializes \exposid{current}. \end{itemdescr} @@ -4913,7 +4913,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{current} with \tcode{std::move(i)}. +Initializes \exposid{current} with \tcode{std::move(i)}. \end{itemdescr} @@ -4930,7 +4930,7 @@ \pnum \effects -Initializes \tcode{current} with \tcode{u.current}. +Initializes \exposid{current} with \tcode{u.\exposid{current}}. \end{itemdescr} \indexlibrarymember{operator=}{move_iterator}% @@ -4947,8 +4947,8 @@ \pnum \effects -Assigns \tcode{u.current} to -\tcode{current}. +Assigns \tcode{u.\exposid{current}} to +\exposid{current}. \pnum \returns @@ -4965,7 +4965,7 @@ \begin{itemdescr} \pnum \returns -\tcode{current}. +\exposid{current}. \end{itemdescr} \indexlibrarymember{base}{move_iterator}% @@ -4976,7 +4976,7 @@ \begin{itemdescr} \pnum \returns -\tcode{std::move(current)}. +\tcode{std::move(\exposid{current})}. \end{itemdescr} \rSec3[move.iter.elem]{Element access} @@ -4989,7 +4989,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}% @@ -5000,7 +5000,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} @@ -5013,7 +5013,7 @@ \begin{itemdescr} \pnum \effects -As if by \tcode{++current}. +As if by \tcode{++\exposid{current}}. \pnum \returns @@ -5031,10 +5031,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}% @@ -5045,7 +5045,7 @@ \begin{itemdescr} \pnum \effects -As if by \tcode{--current}. +As if by \tcode{--\exposid{current}}. \pnum \returns @@ -5063,7 +5063,7 @@ As if by: \begin{codeblock} move_iterator tmp = *this; ---current; +--@\exposid{current}@; return tmp; \end{codeblock} \end{itemdescr} @@ -5076,7 +5076,7 @@ \begin{itemdescr} \pnum \returns -\tcode{move_iterator(current + n)}. +\tcode{move_iterator(\exposid{current} + n)}. \end{itemdescr} \indexlibrarymember{operator+=}{move_iterator}% @@ -5087,7 +5087,7 @@ \begin{itemdescr} \pnum \effects -As if by: \tcode{current += n;} +As if by: \tcode{\exposid{current} += n;} \pnum \returns @@ -5102,7 +5102,7 @@ \begin{itemdescr} \pnum \returns -\tcode{move_iterator(current - n)}. +\tcode{move_iterator(\exposid{current} - n)}. \end{itemdescr} \indexlibrarymember{operator-=}{move_iterator}% @@ -5113,7 +5113,7 @@ \begin{itemdescr} \pnum \effects -As if by: \tcode{current -= n;} +As if by: \tcode{\exposid{current} -= n;} \pnum \returns @@ -5268,13 +5268,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}% @@ -5282,13 +5282,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}% @@ -5345,7 +5345,7 @@ constexpr S base() const; private: - S last; // \expos + S @\exposid{last}@; // \expos }; } \end{codeblock} @@ -5360,7 +5360,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} @@ -5373,7 +5373,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}% @@ -5386,7 +5386,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}% @@ -5400,7 +5400,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}% @@ -5411,7 +5411,7 @@ \begin{itemdescr} \pnum \returns -\tcode{last}. +\exposid{last}. \end{itemdescr} \rSec2[iterators.common]{Common iterators} @@ -5495,7 +5495,7 @@ noexcept(noexcept(ranges::iter_swap(declval(), declval()))); private: - variant v_; // \expos + variant @\exposid{v_}@; // \expos }; template @@ -5554,7 +5554,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}% @@ -5565,8 +5565,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}% @@ -5579,13 +5579,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}% @@ -5599,18 +5599,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 @@ -5629,11 +5629,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}% @@ -5654,26 +5654,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}@ { @@ -5699,11 +5699,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 @@ -5718,7 +5718,7 @@ \begin{itemdescr} \pnum \hardexpects -\tcode{holds_alternative(v_)} is \tcode{true}. +\tcode{holds_alternative(\exposid{v_})} is \tcode{true}. \pnum \effects @@ -5738,7 +5738,7 @@ is \tcode{false}, equivalent to: \begin{codeblock} -return get(v_)++; +return get(@\exposid{v_}@)++; \end{codeblock} Otherwise, equivalent to: \begin{codeblock} @@ -5773,14 +5773,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}% @@ -5794,14 +5794,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}% @@ -5815,14 +5815,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} @@ -5837,11 +5837,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}% @@ -5854,12 +5854,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} @@ -5989,15 +5989,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> @@ -6023,8 +6023,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}% @@ -6037,8 +6037,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}% @@ -6051,8 +6051,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 @@ -6069,7 +6069,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return current;} +Equivalent to: \tcode{return \exposid{current};} \end{itemdescr} \indexlibrarymember{base}{counted_iterator}% @@ -6080,7 +6080,7 @@ \begin{itemdescr} \pnum \returns -\tcode{std::move(current)}. +\tcode{std::move(\exposid{current})}. \end{itemdescr} \indexlibrarymember{count}{counted_iterator}% @@ -6091,7 +6091,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return length;} +Equivalent to: \tcode{return \exposid{length};} \end{itemdescr} \rSec3[counted.iter.elem]{Element access} @@ -6106,11 +6106,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}% @@ -6122,7 +6122,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}% @@ -6138,7 +6138,7 @@ \pnum \effects -Equivalent to: \tcode{return current[n];} +Equivalent to: \tcode{return \exposid{current}[n];} \end{itemdescr} \rSec3[counted.iter.nav]{Navigation} @@ -6151,14 +6151,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} @@ -6171,15 +6171,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} @@ -6211,8 +6211,8 @@ \effects Equivalent to: \begin{codeblock} ---current; -++length; +--@\exposid{current}@; +++@\exposid{length}@; return *this; \end{codeblock} \end{itemdescr} @@ -6243,7 +6243,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}% @@ -6268,14 +6268,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} @@ -6289,7 +6289,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}% @@ -6307,7 +6307,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}% @@ -6320,7 +6320,7 @@ \pnum \effects Equivalent to: -\tcode{return -x.length;} +\tcode{return -x.\exposid{length};} \end{itemdescr} \indexlibrarymember{operator-}{counted_iterator}% @@ -6332,7 +6332,7 @@ \begin{itemdescr} \pnum \effects -Equivalent to: \tcode{return y.length;} +Equivalent to: \tcode{return y.\exposid{length};} \end{itemdescr} \indexlibrarymember{operator-=}{counted_iterator}% @@ -6344,14 +6344,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} @@ -6373,7 +6373,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}% @@ -6385,7 +6385,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}% @@ -6403,12 +6403,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} @@ -6418,18 +6418,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}% @@ -6437,17 +6437,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} @@ -6546,8 +6546,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} @@ -6567,11 +6567,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 @@ -6589,9 +6589,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} @@ -6603,13 +6603,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}. @@ -6637,11 +6637,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}% @@ -6652,11 +6652,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}% @@ -6667,14 +6667,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 @@ -6690,7 +6690,7 @@ \begin{itemdescr} \pnum \expects -\tcode{in_stream != nullptr} is \tcode{true}. +\tcode{\exposid{in-stream} != nullptr} is \tcode{true}. \pnum \effects @@ -6712,7 +6712,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}% @@ -6723,7 +6723,7 @@ \begin{itemdescr} \pnum \returns -\tcode{!i.in_stream}. +\tcode{!i.\exposid{in-stream}}. \end{itemdescr} \rSec2[ostream.iterator]{Class template \tcode{ostream_iterator}} @@ -6770,8 +6770,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} @@ -6786,8 +6786,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} @@ -6799,8 +6799,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} @@ -6815,9 +6815,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} @@ -6922,7 +6922,7 @@ friend bool operator==(const istreambuf_iterator& i, default_sentinel_t s); private: - streambuf_type* sbuf_; // \expos + streambuf_type* @\exposid{sbuf_}@; // \expos }; } \end{codeblock} @@ -6963,7 +6963,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}% @@ -6975,7 +6975,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{sbuf_} with \keyword{nullptr}. +Initializes \exposid{sbuf_} with \keyword{nullptr}. \end{itemdescr} @@ -6987,7 +6987,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{sbuf_} with \tcode{s.rdbuf()}. +Initializes \exposid{sbuf_} with \tcode{s.rdbuf()}. \end{itemdescr} @@ -6999,7 +6999,7 @@ \begin{itemdescr} \pnum \effects -Initializes \tcode{sbuf_} with \tcode{s}. +Initializes \exposid{sbuf_} with \tcode{s}. \end{itemdescr} @@ -7011,7 +7011,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} @@ -7027,7 +7027,7 @@ The character obtained via the \tcode{streambuf} member -\tcode{sbuf_->sgetc()}. +\tcode{\exposid{sbuf_}->sgetc()}. \end{itemdescr} \indexlibrarymember{operator++}{istreambuf_iterator}% @@ -7038,7 +7038,7 @@ \begin{itemdescr} \pnum \effects -As if by \tcode{sbuf_->sbumpc()}. +As if by \tcode{\exposid{sbuf_}->sbumpc()}. \pnum \returns @@ -7053,7 +7053,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}% @@ -7130,7 +7130,7 @@ bool failed() const noexcept; private: - streambuf_type* sbuf_; // \expos + streambuf_type* @\exposid{sbuf_}@; // \expos }; } \end{codeblock} @@ -7150,7 +7150,7 @@ \pnum \effects -Initializes \tcode{sbuf_} with \tcode{s.rdbuf()}. +Initializes \exposid{sbuf_} with \tcode{s.rdbuf()}. \end{itemdescr} @@ -7167,7 +7167,7 @@ \pnum \effects -Initializes \tcode{sbuf_} with \tcode{s}. +Initializes \exposid{sbuf_} with \tcode{s}. \end{itemdescr} \rSec3[ostreambuf.iter.ops]{Operations} @@ -7185,7 +7185,7 @@ yields \tcode{false}, calls -\tcode{sbuf_->sputc(c)}; +\tcode{\exposid{sbuf_}->sputc(c)}; otherwise has no effect. \pnum @@ -7228,7 +7228,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