|
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 \tcode{view}, |
| 5904 | +then \tcode{(static_cast<D>(F) == D() ? ((void)E, T()) : \placeholdernc{decay-copy}(E))}. |
5901 | 5905 | \item |
5902 | 5906 | Otherwise, if \tcode{T} models |
5903 | 5907 | \libconcept{random_access_range} and \libconcept{sized_range} |
|
6381 | 6385 | except that the evaluations of \tcode{E} and \tcode{F} |
6382 | 6386 | are indeterminately sequenced. |
6383 | 6387 |
|
| 6388 | +\item |
| 6389 | +Otherwise, if \tcode{T} is a specialization of \tcode{optional} |
| 6390 | +and \tcode{T} models \tcode{view}, |
| 6391 | +then \tcode{(static_cast<D>(F) == D() ? \placeholdernc{decay-copy}(E) : ((void)E, T()))}. |
6384 | 6392 | \item |
6385 | 6393 | Otherwise, if \tcode{T} models |
6386 | 6394 | \libconcept{random_access_range} and \libconcept{sized_range} |
|
9909 | 9917 | If the type of \tcode{E} is |
9910 | 9918 | a (possibly cv-qualified) specialization of \tcode{reverse_view}, |
9911 | 9919 | then \tcode{E.base()}. |
| 9920 | +\item |
| 9921 | + Otherwise, if \tcode{E} is specialization of \tcode{optional} and \tcode{E} |
| 9922 | + models \tcode{view}, then \tcode{\placeholdernc{decay-copy}(E)}. |
9912 | 9923 | \item |
9913 | 9924 | Otherwise, if the type of \tcode{E} is \cv{} \tcode{subrange<reverse_iterator<I>, reverse_iterator<I>, K>} |
9914 | 9925 | for some iterator type \tcode{I} and |
|
10061 | 10072 | if \tcode{U} denotes \tcode{empty_view<X>} |
10062 | 10073 | for some type \tcode{X}, then \tcode{auto(views::empty<const X>)}. |
10063 | 10074 | \item |
| 10075 | +Otherwise, if \tcode{U} denotes \tcode{optional<X\&>} |
| 10076 | +for some type \tcode{X}, then \tcode{optional<const X\&>(E)}. |
| 10077 | +\item |
10064 | 10078 | Otherwise, |
10065 | 10079 | if \tcode{U} denotes \tcode{span<X, Extent>} |
10066 | 10080 | for some type \tcode{X} and some extent \tcode{Extent}, |
|
0 commit comments