Skip to content

Commit 4abf44b

Browse files
author
Dawn Perchik
committed
P0608R3 A sane variant converting constructor
1 parent 12935b8 commit 4abf44b

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

source/utilities.tex

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3962,7 +3962,12 @@
39623962
\begin{itemdescr}
39633963
\pnum
39643964
Let $\tcode{T}_j$ be a type that is determined as follows:
3965-
build an imaginary function \tcode{\placeholdernc{FUN}($\tcode{T}_i$)} for each alternative type $\tcode{T}_i$. The overload \tcode{\placeholdernc{FUN}($\tcode{T}_j$)} selected by overload
3965+
build an imaginary function \tcode{\placeholdernc{FUN}($\tcode{T}_i$)}
3966+
for each alternative type $\tcode{T}_i$
3967+
for which \tcode{$\tcode{T}_i$ x[] =} \tcode{\{std::forward<T>(t)\};}
3968+
is well-formed for some invented variable \tcode{x} and,
3969+
if $\tcode{T}_i$ is \cv~\tcode{bool}, \tcode{remove_cvref_t<T>} is \tcode{bool}.
3970+
The overload \tcode{\placeholdernc{FUN}($\tcode{T}_j$)} selected by overload
39663971
resolution for the expression \tcode{\placeholdernc{FUN}(std::forward<T>(\brk{}t))} defines
39673972
the alternative $\tcode{T}_j$ which is the type of the contained value after
39683973
construction.
@@ -4257,8 +4262,12 @@
42574262
\begin{itemdescr}
42584263
\pnum
42594264
Let $\tcode{T}_j$ be a type that is determined as follows:
4260-
build an imaginary function \tcode{\placeholdernc{FUN}($\tcode{T}_i$)} for each alternative type
4261-
$\tcode{T}_i$. The overload \tcode{\placeholdernc{FUN}($\tcode{T}_j$)} selected by overload
4265+
build an imaginary function \tcode{\placeholdernc{FUN}($\tcode{T}_i$)}
4266+
for each alternative type $\tcode{T}_i$
4267+
for which \tcode{$\tcode{T}_i$ x[] =} \tcode{\{std::forward<T>(t)\};}
4268+
is well-formed for some invented variable \tcode{x} and,
4269+
if $\tcode{T}_i$ is \cv~\tcode{bool}, \tcode{remove_cvref_t<T>} is \tcode{bool}.
4270+
The overload \tcode{\placeholdernc{FUN}($\tcode{T}_j$)} selected by overload
42624271
resolution for the expression \tcode{\placeholdernc{FUN}(std::forward<T>(\brk{}t))} defines
42634272
the alternative $\tcode{T}_j$ which is the type of the contained value after
42644273
assignment.

0 commit comments

Comments
 (0)