|
640 | 640 | \tcode{auto(begin(t))}
|
641 | 641 | is a valid expression whose type models
|
642 | 642 | \libconcept{input_or_output_iterator}
|
643 |
| - with overload resolution performed in a context in which |
644 |
| - unqualified lookup for \tcode{begin} finds only the declarations |
645 |
| -\begin{codeblock} |
646 |
| -void begin(auto&) = delete; |
647 |
| -void begin(const auto&) = delete; |
648 |
| -\end{codeblock} |
| 643 | + where the meaning of \tcode{begin} is established as-if by performing |
| 644 | + argument-dependent lookup only\iref{basic.lookup.argdep}, |
649 | 645 | then \tcode{ranges::begin(E)} is expression-equivalent to
|
650 |
| - \tcode{auto(begin(t))} |
651 |
| - with overload resolution performed in the above context. |
| 646 | + that expression. |
652 | 647 |
|
653 | 648 | \item
|
654 | 649 | Otherwise, \tcode{ranges::begin(E)} is ill-formed.
|
|
711 | 706 | \tcode{auto(end(t))}
|
712 | 707 | is a valid expression whose type models
|
713 | 708 | \tcode{\libconcept{sentinel_for}<iterator_t<T>>}
|
714 |
| - with overload resolution performed in a context in which |
715 |
| - unqualified lookup for \tcode{end} finds only the declarations |
716 |
| -\begin{codeblock} |
717 |
| -void end(auto&) = delete; |
718 |
| -void end(const auto&) = delete; |
719 |
| -\end{codeblock} |
| 709 | + where the meaning of \tcode{end} is established as-if by performing |
| 710 | + argument-dependent lookup only\iref{basic.lookup.argdep}, |
720 | 711 | then \tcode{ranges::end(E)} is expression-equivalent to
|
721 |
| - \tcode{auto(end(t))} |
722 |
| - with overload resolution performed in the above context. |
| 712 | + that expression. |
723 | 713 |
|
724 | 714 | \item
|
725 | 715 | Otherwise, \tcode{ranges::end(E)} is ill-formed.
|
|
833 | 823 | \tcode{auto(rbegin(t))}
|
834 | 824 | is a valid expression whose type models
|
835 | 825 | \libconcept{input_or_output_iterator}
|
836 |
| - with overload resolution performed in a context in which |
837 |
| - unqualified lookup for \tcode{rbegin} finds only the declarations |
838 |
| -\begin{codeblock} |
839 |
| -void rbegin(auto&) = delete; |
840 |
| -void rbegin(const auto&) = delete; |
841 |
| -\end{codeblock} |
| 826 | + where the meaning of \tcode{rbegin} is established as-if by performing |
| 827 | + argument-dependent lookup only\iref{basic.lookup.argdep}, |
842 | 828 | then \tcode{ranges::rbegin(E)} is expression-equivalent to
|
843 |
| - \tcode{auto(rbegin(t))} |
844 |
| - with overload resolution performed in the above context. |
| 829 | + that expression. |
845 | 830 |
|
846 | 831 | \item
|
847 | 832 | Otherwise, if both \tcode{ranges::begin(t)} and \tcode{ranges::end(t)}
|
|
902 | 887 | \tcode{auto(rend(t))}
|
903 | 888 | is a valid expression whose type models
|
904 | 889 | \tcode{\libconcept{sentinel_for}<decltype(ranges::rbegin(E))>}
|
905 |
| - with overload resolution performed in a context in which |
906 |
| - unqualified lookup for \tcode{rend} finds only the declarations |
907 |
| -\begin{codeblock} |
908 |
| -void rend(auto&) = delete; |
909 |
| -void rend(const auto&) = delete; |
910 |
| -\end{codeblock} |
| 890 | + where the meaning of \tcode{rend} is established as-if by performing |
| 891 | + argument-dependent lookup only\iref{basic.lookup.argdep}, |
911 | 892 | then \tcode{ranges::rend(E)} is expression-equivalent to
|
912 |
| - \tcode{auto(rend(t))} |
913 |
| - with overload resolution performed in the above context. |
| 893 | + that expression. |
914 | 894 |
|
915 | 895 | \item
|
916 | 896 | Otherwise, if both \tcode{ranges::begin(t)} and \tcode{ranges::end(t)}
|
|
1032 | 1012 | \tcode{disable_sized_range<remove_cv_t<T>>} is \tcode{false} and
|
1033 | 1013 | \tcode{auto(size(t))}
|
1034 | 1014 | is a valid expression of integer-like type
|
1035 |
| - with overload resolution performed in a context in which |
1036 |
| - unqualified lookup for \tcode{size} finds only the declarations |
1037 |
| -\begin{codeblock} |
1038 |
| -void size(auto&) = delete; |
1039 |
| -void size(const auto&) = delete; |
1040 |
| -\end{codeblock} |
| 1015 | + where the meaning of \tcode{size} is established as-if by performing |
| 1016 | + argument-dependent lookup only\iref{basic.lookup.argdep}, |
1041 | 1017 | then \tcode{ranges::size(E)} is expression-equivalent to
|
1042 |
| - \tcode{auto(size(t))} |
1043 |
| - with overload resolution performed in the above context. |
| 1018 | + that expression. |
1044 | 1019 |
|
1045 | 1020 | \item
|
1046 | 1021 | Otherwise, if
|
|
0 commit comments