|
5507 | 5507 | noexcept(noexcept(ranges::iter_swap(declval<const I&>(), declval<const I2&>()))); |
5508 | 5508 |
|
5509 | 5509 | private: |
5510 | | - variant<I, S> v_; // \expos |
| 5510 | + variant<I, S> @\exposid{v_}@; // \expos |
5511 | 5511 | }; |
5512 | 5512 |
|
5513 | 5513 | template<class I, class S> |
|
5566 | 5566 | \begin{itemdescr} |
5567 | 5567 | \pnum |
5568 | 5568 | \effects |
5569 | | -Initializes \tcode{v_} as if by \tcode{v_\{in_place_type<I>, std::move(i)\}}. |
| 5569 | +Initializes \exposid{v_} as if by \tcode{\exposid{v_}\{in_place_type<I>, std::move(i)\}}. |
5570 | 5570 | \end{itemdescr} |
5571 | 5571 |
|
5572 | 5572 | \indexlibraryctor{common_iterator}% |
|
5577 | 5577 | \begin{itemdescr} |
5578 | 5578 | \pnum |
5579 | 5579 | \effects |
5580 | | -Initializes \tcode{v_} as if by |
5581 | | -\tcode{v_\{in_place_type<S>, std::move(s)\}}. |
| 5580 | +Initializes \exposid{v_} as if by |
| 5581 | +\tcode{\exposid{v_}\{in_place_type<S>, std::move(s)\}}. |
5582 | 5582 | \end{itemdescr} |
5583 | 5583 |
|
5584 | 5584 | \indexlibraryctor{common_iterator}% |
|
5591 | 5591 | \begin{itemdescr} |
5592 | 5592 | \pnum |
5593 | 5593 | \hardexpects |
5594 | | -\tcode{x.v_.valueless_by_exception()} is \tcode{false}. |
| 5594 | +\tcode{x.\exposid{v_}.valueless_by_exception()} is \tcode{false}. |
5595 | 5595 |
|
5596 | 5596 | \pnum |
5597 | 5597 | \effects |
5598 | | -Initializes \tcode{v_} as if by |
5599 | | -\tcode{v_\{in_place_index<$i$>, get<$i$>(x.v_)\}}, |
5600 | | -where $i$ is \tcode{x.v_.index()}. |
| 5598 | +Initializes \exposid{v_} as if by |
| 5599 | +\tcode{\exposid{v_}\{in_place_index<$i$>, get<$i$>(x.\exposid{v_})\}}, |
| 5600 | +where $i$ is \tcode{x.\exposid{v_}.index()}. |
5601 | 5601 | \end{itemdescr} |
5602 | 5602 |
|
5603 | 5603 | \indexlibrarymember{operator=}{common_iterator}% |
|
5611 | 5611 | \begin{itemdescr} |
5612 | 5612 | \pnum |
5613 | 5613 | \hardexpects |
5614 | | -\tcode{x.v_.valueless_by_exception()} is \tcode{false}. |
| 5614 | +\tcode{x.\exposid{v_}.valueless_by_exception()} is \tcode{false}. |
5615 | 5615 |
|
5616 | 5616 | \pnum |
5617 | 5617 | \effects |
5618 | 5618 | Equivalent to: |
5619 | 5619 | \begin{itemize} |
5620 | | -\item If \tcode{v_.index() == x.v_.index()}, then |
5621 | | -\tcode{get<$i$>(v_) = get<$i$>(x.v_)}. |
| 5620 | +\item If \tcode{\exposid{v_}.index() == x.\exposid{v_}.index()}, then |
| 5621 | +\tcode{get<$i$>(\exposid{v_}) = get<$i$>(x.\exposid{v_})}. |
5622 | 5622 |
|
5623 | | -\item Otherwise, \tcode{v_.emplace<$i$>(get<$i$>(x.v_))}. |
| 5623 | +\item Otherwise, \tcode{\exposid{v_}.emplace<$i$>(get<$i$>(x.\exposid{v_}))}. |
5624 | 5624 | \end{itemize} |
5625 | | -where $i$ is \tcode{x.v_.index()}. |
| 5625 | +where $i$ is \tcode{x.\exposid{v_}.index()}. |
5626 | 5626 |
|
5627 | 5627 | \pnum |
5628 | 5628 | \returns |
|
5641 | 5641 | \begin{itemdescr} |
5642 | 5642 | \pnum |
5643 | 5643 | \hardexpects |
5644 | | -\tcode{holds_alternative<I>(v_)} is \tcode{true}. |
| 5644 | +\tcode{holds_alternative<I>(\exposid{v_})} is \tcode{true}. |
5645 | 5645 |
|
5646 | 5646 | \pnum |
5647 | 5647 | \effects |
5648 | | -Equivalent to: \tcode{return *get<I>(v_);} |
| 5648 | +Equivalent to: \tcode{return *get<I>(\exposid{v_});} |
5649 | 5649 | \end{itemdescr} |
5650 | 5650 |
|
5651 | 5651 | \indexlibrarymember{operator->}{common_iterator}% |
|
5666 | 5666 |
|
5667 | 5667 | \pnum |
5668 | 5668 | \hardexpects |
5669 | | -\tcode{holds_alternative<I>(v_)} is \tcode{true}. |
| 5669 | +\tcode{holds_alternative<I>(\exposid{v_})} is \tcode{true}. |
5670 | 5670 |
|
5671 | 5671 | \pnum |
5672 | 5672 | \effects |
5673 | 5673 | \begin{itemize} |
5674 | 5674 | \item |
5675 | 5675 | If \tcode{I} is a pointer type or if the expression |
5676 | | -\tcode{get<I>(v_).operator->()} is |
5677 | | -well-formed, equivalent to: \tcode{return get<I>(v_);} |
| 5676 | +\tcode{get<I>(\exposid{v_}).operator->()} is |
| 5677 | +well-formed, equivalent to: \tcode{return get<I>(\exposid{v_});} |
5678 | 5678 |
|
5679 | 5679 | \item |
5680 | 5680 | Otherwise, if \tcode{iter_reference_t<I>} is a reference type, equivalent to: |
5681 | 5681 | \begin{codeblock} |
5682 | | -auto&& tmp = *get<I>(v_); |
| 5682 | +auto&& tmp = *get<I>(@\exposid{v_}@); |
5683 | 5683 | return addressof(tmp); |
5684 | 5684 | \end{codeblock} |
5685 | 5685 |
|
5686 | 5686 | \item |
5687 | 5687 | Otherwise, equivalent to: |
5688 | | -\tcode{return \exposid{proxy}(*get<I>(v_));} where |
| 5688 | +\tcode{return \exposid{proxy}(*get<I>(\exposid{v_}));} where |
5689 | 5689 | \exposid{proxy} is the exposition-only class: |
5690 | 5690 | \begin{codeblock} |
5691 | 5691 | class @\exposid{proxy}@ { |
|
5711 | 5711 | \begin{itemdescr} |
5712 | 5712 | \pnum |
5713 | 5713 | \hardexpects |
5714 | | -\tcode{holds_alternative<I>(v_)} is \tcode{true}. |
| 5714 | +\tcode{holds_alternative<I>(\exposid{v_})} is \tcode{true}. |
5715 | 5715 |
|
5716 | 5716 | \pnum |
5717 | 5717 | \effects |
5718 | | -Equivalent to \tcode{++get<I>(v_)}. |
| 5718 | +Equivalent to \tcode{++get<I>(\exposid{v_})}. |
5719 | 5719 |
|
5720 | 5720 | \pnum |
5721 | 5721 | \returns |
|
5730 | 5730 | \begin{itemdescr} |
5731 | 5731 | \pnum |
5732 | 5732 | \hardexpects |
5733 | | -\tcode{holds_alternative<I>(v_)} is \tcode{true}. |
| 5733 | +\tcode{holds_alternative<I>(\exposid{v_})} is \tcode{true}. |
5734 | 5734 |
|
5735 | 5735 | \pnum |
5736 | 5736 | \effects |
|
5750 | 5750 | is \tcode{false}, |
5751 | 5751 | equivalent to: |
5752 | 5752 | \begin{codeblock} |
5753 | | -return get<I>(v_)++; |
| 5753 | +return get<I>(@\exposid{v_}@)++; |
5754 | 5754 | \end{codeblock} |
5755 | 5755 | Otherwise, equivalent to: |
5756 | 5756 | \begin{codeblock} |
|
5785 | 5785 | \begin{itemdescr} |
5786 | 5786 | \pnum |
5787 | 5787 | \hardexpects |
5788 | | -\tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} |
| 5788 | +\tcode{x.\exposid{v_}.valueless_by_exception()} and \tcode{y.\exposid{v_}.valueless_by_exception()} |
5789 | 5789 | are each \tcode{false}. |
5790 | 5790 |
|
5791 | 5791 | \pnum |
5792 | 5792 | \returns |
5793 | 5793 | \tcode{true} if \tcode{$i$ == $j$}, |
5794 | | -and otherwise \tcode{get<$i$>(x.v_) == get<$j$>(y.v_)}, |
5795 | | -where $i$ is \tcode{x.v_.index()} and $j$ is \tcode{y.v_.index()}. |
| 5794 | +and otherwise \tcode{get<$i$>(x.\exposid{v_}) == get<$j$>(y.\exposid{v_})}, |
| 5795 | +where $i$ is \tcode{x.\exposid{v_}.index()} and $j$ is \tcode{y.\exposid{v_}.index()}. |
5796 | 5796 | \end{itemdescr} |
5797 | 5797 |
|
5798 | 5798 | \indexlibrarymember{operator==}{common_iterator}% |
|
5806 | 5806 | \begin{itemdescr} |
5807 | 5807 | \pnum |
5808 | 5808 | \hardexpects |
5809 | | -\tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} |
| 5809 | +\tcode{x.\exposid{v_}.valueless_by_exception()} and \tcode{y.\exposid{v_}.valueless_by_exception()} |
5810 | 5810 | are each \tcode{false}. |
5811 | 5811 |
|
5812 | 5812 | \pnum |
5813 | 5813 | \returns |
5814 | 5814 | \tcode{true} if $i$ and $j$ are each \tcode{1}, and otherwise |
5815 | | -\tcode{get<$i$>(x.v_) == get<$j$>(y.v_)}, where |
5816 | | -$i$ is \tcode{x.v_.index()} and $j$ is \tcode{y.v_.index()}. |
| 5815 | +\tcode{get<$i$>(x.\exposid{v_}) == get<$j$>(y.\exposid{v_})}, where |
| 5816 | +$i$ is \tcode{x.\exposid{v_}.index()} and $j$ is \tcode{y.\exposid{v_}.index()}. |
5817 | 5817 | \end{itemdescr} |
5818 | 5818 |
|
5819 | 5819 | \indexlibrarymember{operator-}{common_iterator}% |
|
5827 | 5827 | \begin{itemdescr} |
5828 | 5828 | \pnum |
5829 | 5829 | \hardexpects |
5830 | | -\tcode{x.v_.valueless_by_exception()} and \tcode{y.v_.valueless_by_exception()} |
| 5830 | +\tcode{x.\exposid{v_}.valueless_by_exception()} and \tcode{y.\exposid{v_}.valueless_by_exception()} |
5831 | 5831 | are each \tcode{false}. |
5832 | 5832 |
|
5833 | 5833 | \pnum |
5834 | 5834 | \returns |
5835 | 5835 | \tcode{0} if $i$ and $j$ are each \tcode{1}, and otherwise |
5836 | | -\tcode{get<$i$>(x.v_) - get<$j$>(y.v_)}, where |
5837 | | -$i$ is \tcode{x.v_.index()} and $j$ is \tcode{y.v_.index()}. |
| 5836 | +\tcode{get<$i$>(x.\exposid{v_}) - get<$j$>(y.\exposid{v_})}, where |
| 5837 | +$i$ is \tcode{x.\exposid{v_}.index()} and $j$ is \tcode{y.\exposid{v_}.index()}. |
5838 | 5838 | \end{itemdescr} |
5839 | 5839 |
|
5840 | 5840 | \rSec3[common.iter.cust]{Customizations} |
|
5849 | 5849 | \begin{itemdescr} |
5850 | 5850 | \pnum |
5851 | 5851 | \hardexpects |
5852 | | -\tcode{holds_alternative<I>(i.v_)} is \tcode{true}. |
| 5852 | +\tcode{holds_alternative<I>(i.\exposid{v_})} is \tcode{true}. |
5853 | 5853 |
|
5854 | 5854 | \pnum |
5855 | 5855 | \effects |
5856 | | -Equivalent to: \tcode{return ranges::iter_move(get<I>(i.v_));} |
| 5856 | +Equivalent to: \tcode{return ranges::iter_move(get<I>(i.\exposid{v_}));} |
5857 | 5857 | \end{itemdescr} |
5858 | 5858 |
|
5859 | 5859 | \indexlibrarymember{iter_swap}{common_iterator}% |
|
5866 | 5866 | \begin{itemdescr} |
5867 | 5867 | \pnum |
5868 | 5868 | \hardexpects |
5869 | | -\tcode{holds_alternative<I>(x.v_)} and \tcode{holds_alternative<I2>(y.v_)} |
| 5869 | +\tcode{holds_alternative<I>(x.\exposid{v_})} and \tcode{holds_alternative<I2>(y.\exposid{v_})} |
5870 | 5870 | are each \tcode{true}. |
5871 | 5871 |
|
5872 | 5872 | \pnum |
5873 | 5873 | \effects |
5874 | | -Equivalent to \tcode{ranges::iter_swap(get<I>(x.v_), get<I2>(y.v_))}. |
| 5874 | +Equivalent to \tcode{ranges::iter_swap(get<I>(x.\exposid{v_}), get<I2>(y.\exposid{v_}))}. |
5875 | 5875 | \end{itemdescr} |
5876 | 5876 |
|
5877 | 5877 | \rSec2[default.sentinel]{Default sentinel} |
|
0 commit comments