|
5898 | 5898 | except that the evaluations of \tcode{E} and \tcode{F} |
5899 | 5899 | are indeterminately sequenced. |
5900 | 5900 |
|
| 5901 | +\item |
| 5902 | +Otherwise, if \tcode{T} is a specialization of |
| 5903 | +\tcode{optional} and \tcode{T} models \libconcept{view}, then |
| 5904 | +\tcode{(static_cast<D>(F) == D() ? ((void)E, T()) : \exposidnc{decay-copy}(E))}. |
| 5905 | + |
5901 | 5906 | \item |
5902 | 5907 | Otherwise, if \tcode{T} models |
5903 | 5908 | \libconcept{random_access_range} and \libconcept{sized_range} |
|
6381 | 6386 | except that the evaluations of \tcode{E} and \tcode{F} |
6382 | 6387 | are indeterminately sequenced. |
6383 | 6388 |
|
| 6389 | +\item |
| 6390 | +Otherwise, if \tcode{T} is a specialization of \tcode{optional} |
| 6391 | +and \tcode{T} models \libconcept{view}, then |
| 6392 | +\tcode{(static_cast<D>(F) == D() ? \exposidnc{decay-copy}(E) : ((void)E, T()))}. |
| 6393 | + |
6384 | 6394 | \item |
6385 | 6395 | Otherwise, if \tcode{T} models |
6386 | 6396 | \libconcept{random_access_range} and \libconcept{sized_range} |
|
9910 | 9920 | If the type of \tcode{E} is |
9911 | 9921 | a (possibly cv-qualified) specialization of \tcode{reverse_view}, |
9912 | 9922 | then \tcode{E.base()}. |
| 9923 | + |
| 9924 | +\item |
| 9925 | + Otherwise, if \tcode{E} is specialization of \tcode{optional} and \tcode{E} |
| 9926 | + models \libconcept{view}, then \tcode{\exposidnc{decay-copy}(E)}. |
| 9927 | + |
9913 | 9928 | \item |
9914 | 9929 | Otherwise, if the type of \tcode{E} is \cv{} \tcode{subrange<reverse_iterator<I>, reverse_iterator<I>, K>} |
9915 | 9930 | for some iterator type \tcode{I} and |
|
10061 | 10076 | Otherwise, |
10062 | 10077 | if \tcode{U} denotes \tcode{empty_view<X>} |
10063 | 10078 | for some type \tcode{X}, then \tcode{auto(views::empty<const X>)}. |
| 10079 | + |
| 10080 | +\item |
| 10081 | +Otherwise, if \tcode{U} denotes \tcode{optional<X\&>} |
| 10082 | +for some type \tcode{X}, then \tcode{optional<const X\&>(E)}. |
| 10083 | + |
10064 | 10084 | \item |
10065 | 10085 | Otherwise, |
10066 | 10086 | if \tcode{U} denotes \tcode{span<X, Extent>} |
|
0 commit comments