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