Skip to content

Commit 8582126

Browse files
committed
[variant.variant] Placeholder FUN
Also addresses #693.
1 parent 49a6a30 commit 8582126

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

source/utilities.tex

+11-9
Original file line numberDiff line numberDiff line change
@@ -4281,8 +4281,8 @@
42814281
\begin{itemdescr}
42824282
\pnum
42834283
Let \tcode{T}$_j$ be a type that is determined as follows:
4284-
build an imaginary function \tcode{\textit{FUN}(\tcode{T}$_i$)} for each alternative type \tcode{T}$_i$. The overload \tcode{\textit{FUN}(\tcode{T}$_j$)} selected by overload
4285-
resolution for the expression \tcode{\textit{FUN}(std::forward<T>(\brk{}t))} defines
4284+
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
4285+
resolution for the expression \tcode{\placeholdernc{FUN}(std::forward<T>(\brk{}t))} defines
42864286
the alternative \tcode{T}$_j$ which is the type of the contained value after
42874287
construction.
42884288

@@ -4309,7 +4309,7 @@
43094309
nor a specialization of \tcode{in_place_index_t},
43104310
unless \tcode{is_constructible_v<T$_j$, T>} is \tcode{true},
43114311
and unless the expression
4312-
\tcode{\textit{FUN}(}\brk\tcode{std::forward<T>(t))} (with \tcode{\textit{FUN}}
4312+
\tcode{\placeholdernc{FUN}(}\brk\tcode{std::forward<T>(t))} (with \tcode{\placeholdernc{FUN}}
43134313
being the above-mentioned set of imaginary functions) is well formed.
43144314

43154315
\pnum
@@ -4589,9 +4589,9 @@
45894589
\begin{itemdescr}
45904590
\pnum
45914591
Let \tcode{T}$_j$ be a type that is determined as follows:
4592-
build an imaginary function \tcode{\textit{FUN}(T$_i$)} for each alternative type
4593-
\tcode{T}$_i$. The overload \tcode{\textit{FUN}(T$_j$)} selected by overload
4594-
resolution for the expression \tcode{\textit{FUN}(std::forward<T>(\brk{}t))} defines
4592+
build an imaginary function \tcode{\placeholdernc{FUN}(T$_i$)} for each alternative type
4593+
\tcode{T}$_i$. The overload \tcode{\placeholdernc{FUN}(T$_j$)} selected by overload
4594+
resolution for the expression \tcode{\placeholdernc{FUN}(std::forward<T>(\brk{}t))} defines
45954595
the alternative \tcode{T}$_j$ which is the type of the contained value after
45964596
assignment.
45974597

@@ -4617,8 +4617,8 @@
46174617
This function shall not participate in overload resolution unless
46184618
\tcode{is_same_v<decay_t<T>, variant>} is \tcode{false}, unless
46194619
\tcode{is_assignable_v<T$_j$\&, T> \&\& is_constructible_v<T$_j$, T>} is \tcode{true},
4620-
and unless the expression \tcode{\textit{FUN}(std::forward<T>(t))} (with
4621-
\tcode{\textit{FUN}} being the above-mentioned set of imaginary functions)
4620+
and unless the expression \tcode{\placeholdernc{FUN}(std::forward<T>(t))} (with
4621+
\tcode{\placeholdernc{FUN}} being the above-mentioned set of imaginary functions)
46224622
is well formed.
46234623

46244624
\pnum
@@ -4632,7 +4632,9 @@
46324632

46334633
\pnum
46344634
The expression inside \tcode{noexcept} is equivalent to:
4635-
\tcode{is_nothrow_assignable_v<T$_j$\&, T> \&\& is_nothrow_constructible_v<T$_j$, T>}.
4635+
\begin{codeblock}
4636+
is_nothrow_assignable_v<T@$_j$@&, T> && is_nothrow_constructible_v<T@$_j$@, T>
4637+
\end{codeblock}
46364638
\begin{itemize}
46374639
\item If an exception is thrown during the assignment of \tcode{std::forward<T>(t)}
46384640
to the value contained in \tcode{*this}, the state of the contained value and

0 commit comments

Comments
 (0)