|
5493 | 5493 | noexcept(noexcept(ranges::iter_swap(declval<const I&>(), declval<const I2&>()))); |
5494 | 5494 |
|
5495 | 5495 | private: |
5496 | | - variant<I, S> v_; // \expos |
| 5496 | + variant<I, S> @\exposid{v_}@; // \expos |
5497 | 5497 | }; |
5498 | 5498 |
|
5499 | 5499 | template<class I, class S> |
|
5552 | 5552 | \begin{itemdescr} |
5553 | 5553 | \pnum |
5554 | 5554 | \effects |
5555 | | -Initializes \tcode{v_} as if by \tcode{v_\{in_place_type<I>, std::move(i)\}}. |
| 5555 | +Initializes \exposid{v_} as if by \tcode{\exposid{v_}\{in_place_type<I>, std::move(i)\}}. |
5556 | 5556 | \end{itemdescr} |
5557 | 5557 |
|
5558 | 5558 | \indexlibraryctor{common_iterator}% |
|
5563 | 5563 | \begin{itemdescr} |
5564 | 5564 | \pnum |
5565 | 5565 | \effects |
5566 | | -Initializes \tcode{v_} as if by |
5567 | | -\tcode{v_\{in_place_type<S>, std::move(s)\}}. |
| 5566 | +Initializes \exposid{v_} as if by |
| 5567 | +\tcode{\exposid{v_}\{in_place_type<S>, std::move(s)\}}. |
5568 | 5568 | \end{itemdescr} |
5569 | 5569 |
|
5570 | 5570 | \indexlibraryctor{common_iterator}% |
|
5577 | 5577 | \begin{itemdescr} |
5578 | 5578 | \pnum |
5579 | 5579 | \hardexpects |
5580 | | -\tcode{x.v_.valueless_by_exception()} is \tcode{false}. |
| 5580 | +\tcode{x.\exposid{v_}.valueless_by_exception()} is \tcode{false}. |
5581 | 5581 |
|
5582 | 5582 | \pnum |
5583 | 5583 | \effects |
5584 | | -Initializes \tcode{v_} as if by |
5585 | | -\tcode{v_\{in_place_index<$i$>, get<$i$>(x.v_)\}}, |
5586 | | -where $i$ is \tcode{x.v_.index()}. |
| 5584 | +Initializes \exposid{v_} as if by |
| 5585 | +\tcode{\exposid{v_}\{in_place_index<$i$>, get<$i$>(x.\exposid{v_})\}}, |
| 5586 | +where $i$ is \tcode{x.\exposid{v_}.index()}. |
5587 | 5587 | \end{itemdescr} |
5588 | 5588 |
|
5589 | 5589 | \indexlibrarymember{operator=}{common_iterator}% |
|
5597 | 5597 | \begin{itemdescr} |
5598 | 5598 | \pnum |
5599 | 5599 | \hardexpects |
5600 | | -\tcode{x.v_.valueless_by_exception()} is \tcode{false}. |
| 5600 | +\tcode{x.\exposid{v_}.valueless_by_exception()} is \tcode{false}. |
5601 | 5601 |
|
5602 | 5602 | \pnum |
5603 | 5603 | \effects |
5604 | 5604 | Equivalent to: |
5605 | 5605 | \begin{itemize} |
5606 | | -\item If \tcode{v_.index() == x.v_.index()}, then |
5607 | | -\tcode{get<$i$>(v_) = get<$i$>(x.v_)}. |
| 5606 | +\item If \tcode{\exposid{v_}.index() == x.\exposid{v_}.index()}, then |
| 5607 | +\tcode{get<$i$>(\exposid{v_}) = get<$i$>(x.\exposid{v_})}. |
5608 | 5608 |
|
5609 | | -\item Otherwise, \tcode{v_.emplace<$i$>(get<$i$>(x.v_))}. |
| 5609 | +\item Otherwise, \tcode{\exposid{v_}.emplace<$i$>(get<$i$>(x.\exposid{v_}))}. |
5610 | 5610 | \end{itemize} |
5611 | | -where $i$ is \tcode{x.v_.index()}. |
| 5611 | +where $i$ is \tcode{x.\exposid{v_}.index()}. |
5612 | 5612 |
|
5613 | 5613 | \pnum |
5614 | 5614 | \returns |
|
5627 | 5627 | \begin{itemdescr} |
5628 | 5628 | \pnum |
5629 | 5629 | \hardexpects |
5630 | | -\tcode{holds_alternative<I>(v_)} is \tcode{true}. |
| 5630 | +\tcode{holds_alternative<I>(\exposid{v_})} is \tcode{true}. |
5631 | 5631 |
|
5632 | 5632 | \pnum |
5633 | 5633 | \effects |
5634 | | -Equivalent to: \tcode{return *get<I>(v_);} |
| 5634 | +Equivalent to: \tcode{return *get<I>(\exposid{v_});} |
5635 | 5635 | \end{itemdescr} |
5636 | 5636 |
|
5637 | 5637 | \indexlibrarymember{operator->}{common_iterator}% |
|
5652 | 5652 |
|
5653 | 5653 | \pnum |
5654 | 5654 | \hardexpects |
5655 | | -\tcode{holds_alternative<I>(v_)} is \tcode{true}. |
| 5655 | +\tcode{holds_alternative<I>(\exposid{v_})} is \tcode{true}. |
5656 | 5656 |
|
5657 | 5657 | \pnum |
5658 | 5658 | \effects |
5659 | 5659 | \begin{itemize} |
5660 | 5660 | \item |
5661 | 5661 | If \tcode{I} is a pointer type or if the expression |
5662 | | -\tcode{get<I>(v_).operator->()} is |
5663 | | -well-formed, equivalent to: \tcode{return get<I>(v_);} |
| 5662 | +\tcode{get<I>(\exposid{v_}).operator->()} is |
| 5663 | +well-formed, equivalent to: \tcode{return get<I>(\exposid{v_});} |
5664 | 5664 |
|
5665 | 5665 | \item |
5666 | 5666 | Otherwise, if \tcode{iter_reference_t<I>} is a reference type, equivalent to: |
5667 | 5667 | \begin{codeblock} |
5668 | | -auto&& tmp = *get<I>(v_); |
| 5668 | +auto&& tmp = *get<I>(@\exposid{v_}@); |
5669 | 5669 | return addressof(tmp); |
5670 | 5670 | \end{codeblock} |
5671 | 5671 |
|
5672 | 5672 | \item |
5673 | 5673 | Otherwise, equivalent to: |
5674 | | -\tcode{return \exposid{proxy}(*get<I>(v_));} where |
| 5674 | +\tcode{return \exposid{proxy}(*get<I>(\exposid{v_}));} where |
5675 | 5675 | \exposid{proxy} is the exposition-only class: |
5676 | 5676 | \begin{codeblock} |
5677 | 5677 | class @\exposid{proxy}@ { |
|
5697 | 5697 | \begin{itemdescr} |
5698 | 5698 | \pnum |
5699 | 5699 | \hardexpects |
5700 | | -\tcode{holds_alternative<I>(v_)} is \tcode{true}. |
| 5700 | +\tcode{holds_alternative<I>(\exposid{v_})} is \tcode{true}. |
5701 | 5701 |
|
5702 | 5702 | \pnum |
5703 | 5703 | \effects |
5704 | | -Equivalent to \tcode{++get<I>(v_)}. |
| 5704 | +Equivalent to \tcode{++get<I>(\exposid{v_})}. |
5705 | 5705 |
|
5706 | 5706 | \pnum |
5707 | 5707 | \returns |
|
5716 | 5716 | \begin{itemdescr} |
5717 | 5717 | \pnum |
5718 | 5718 | \hardexpects |
5719 | | -\tcode{holds_alternative<I>(v_)} is \tcode{true}. |
| 5719 | +\tcode{holds_alternative<I>(\exposid{v_})} is \tcode{true}. |
5720 | 5720 |
|
5721 | 5721 | \pnum |
5722 | 5722 | \effects |
|
5736 | 5736 | is \tcode{false}, |
5737 | 5737 | equivalent to: |
5738 | 5738 | \begin{codeblock} |
5739 | | -return get<I>(v_)++; |
| 5739 | +return get<I>(@\exposid{v_}@)++; |
5740 | 5740 | \end{codeblock} |
5741 | 5741 | Otherwise, equivalent to: |
5742 | 5742 | \begin{codeblock} |
|
5771 | 5771 | \begin{itemdescr} |
5772 | 5772 | \pnum |
5773 | 5773 | \hardexpects |
5774 | | -\tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} |
| 5774 | +\tcode{x.\exposid{v_}.valueless_by_exception()} and \tcode{y.\exposid{v_}.valueless_by_exception()} |
5775 | 5775 | are each \tcode{false}. |
5776 | 5776 |
|
5777 | 5777 | \pnum |
5778 | 5778 | \returns |
5779 | 5779 | \tcode{true} if \tcode{$i$ == $j$}, |
5780 | | -and otherwise \tcode{get<$i$>(x.v_) == get<$j$>(y.v_)}, |
5781 | | -where $i$ is \tcode{x.v_.index()} and $j$ is \tcode{y.v_.index()}. |
| 5780 | +and otherwise \tcode{get<$i$>(x.\exposid{v_}) == get<$j$>(y.\exposid{v_})}, |
| 5781 | +where $i$ is \tcode{x.\exposid{v_}.index()} and $j$ is \tcode{y.\exposid{v_}.index()}. |
5782 | 5782 | \end{itemdescr} |
5783 | 5783 |
|
5784 | 5784 | \indexlibrarymember{operator==}{common_iterator}% |
|
5792 | 5792 | \begin{itemdescr} |
5793 | 5793 | \pnum |
5794 | 5794 | \hardexpects |
5795 | | -\tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} |
| 5795 | +\tcode{x.\exposid{v_}.valueless_by_exception()} and \tcode{y.\exposid{v_}.valueless_by_exception()} |
5796 | 5796 | are each \tcode{false}. |
5797 | 5797 |
|
5798 | 5798 | \pnum |
5799 | 5799 | \returns |
5800 | 5800 | \tcode{true} if $i$ and $j$ are each \tcode{1}, and otherwise |
5801 | | -\tcode{get<$i$>(x.v_) == get<$j$>(y.v_)}, where |
5802 | | -$i$ is \tcode{x.v_.index()} and $j$ is \tcode{y.v_.index()}. |
| 5801 | +\tcode{get<$i$>(x.\exposid{v_}) == get<$j$>(y.\exposid{v_})}, where |
| 5802 | +$i$ is \tcode{x.\exposid{v_}.index()} and $j$ is \tcode{y.\exposid{v_}.index()}. |
5803 | 5803 | \end{itemdescr} |
5804 | 5804 |
|
5805 | 5805 | \indexlibrarymember{operator-}{common_iterator}% |
|
5813 | 5813 | \begin{itemdescr} |
5814 | 5814 | \pnum |
5815 | 5815 | \hardexpects |
5816 | | -\tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} |
| 5816 | +\tcode{x.\exposid{v_}.valueless_by_exception()} and \tcode{y.\exposid{v_}.valueless_by_exception()} |
5817 | 5817 | are each \tcode{false}. |
5818 | 5818 |
|
5819 | 5819 | \pnum |
5820 | 5820 | \returns |
5821 | 5821 | \tcode{0} if $i$ and $j$ are each \tcode{1}, and otherwise |
5822 | | -\tcode{get<$i$>(x.v_) - get<$j$>(y.v_)}, where |
5823 | | -$i$ is \tcode{x.v_.index()} and $j$ is \tcode{y.v_.index()}. |
| 5822 | +\tcode{get<$i$>(x.\exposid{v_}) - get<$j$>(y.\exposid{v_})}, where |
| 5823 | +$i$ is \tcode{x.\exposid{v_}.index()} and $j$ is \tcode{y.\exposid{v_}.index()}. |
5824 | 5824 | \end{itemdescr} |
5825 | 5825 |
|
5826 | 5826 | \rSec3[common.iter.cust]{Customizations} |
|
5835 | 5835 | \begin{itemdescr} |
5836 | 5836 | \pnum |
5837 | 5837 | \hardexpects |
5838 | | -\tcode{holds_alternative<I>(i.v_)} is \tcode{true}. |
| 5838 | +\tcode{holds_alternative<I>(i.\exposid{v_})} is \tcode{true}. |
5839 | 5839 |
|
5840 | 5840 | \pnum |
5841 | 5841 | \effects |
5842 | | -Equivalent to: \tcode{return ranges::iter_move(get<I>(i.v_));} |
| 5842 | +Equivalent to: \tcode{return ranges::iter_move(get<I>(i.\exposid{v_}));} |
5843 | 5843 | \end{itemdescr} |
5844 | 5844 |
|
5845 | 5845 | \indexlibrarymember{iter_swap}{common_iterator}% |
|
5852 | 5852 | \begin{itemdescr} |
5853 | 5853 | \pnum |
5854 | 5854 | \hardexpects |
5855 | | -\tcode{holds_alternative<I>(x.v_)} and \tcode{holds_alternative<I2>(y.v_)} |
| 5855 | +\tcode{holds_alternative<I>(x.\exposid{v_})} and \tcode{holds_alternative<I2>(y.\exposid{v_})} |
5856 | 5856 | are each \tcode{true}. |
5857 | 5857 |
|
5858 | 5858 | \pnum |
5859 | 5859 | \effects |
5860 | | -Equivalent to \tcode{ranges::iter_swap(get<I>(x.v_), get<I2>(y.v_))}. |
| 5860 | +Equivalent to \tcode{ranges::iter_swap(get<I>(x.\exposid{v_}), get<I2>(y.\exposid{v_}))}. |
5861 | 5861 | \end{itemdescr} |
5862 | 5862 |
|
5863 | 5863 | \rSec2[default.sentinel]{Default sentinel} |
|
0 commit comments