@@ -15345,11 +15345,11 @@
15345
15345
uses \tcode{is_bind_expression} to detect subexpressions.
15346
15346
15347
15347
\pnum
15348
- Instantiations of the \tcode{is_bind_expression} template shall meet
15348
+ Specializations of the \tcode{is_bind_expression} template shall meet
15349
15349
the \oldconcept{UnaryTypeTrait} requirements\iref{meta.rqmts}. The implementation
15350
- shall provide a definition that has a base characteristic of
15350
+ provides a definition that has a base characteristic of
15351
15351
\tcode{true_type} if \tcode{T} is a type returned from \tcode{bind},
15352
- otherwise it shall have a base characteristic of \tcode{false_type}.
15352
+ otherwise it has a base characteristic of \tcode{false_type}.
15353
15353
A program may specialize this template for a program-defined type \tcode{T}
15354
15354
to have a base characteristic of \tcode{true_type} to indicate that
15355
15355
\tcode{T} should be treated as a subexpression in a \tcode{bind} call.
@@ -15369,11 +15369,11 @@
15369
15369
\tcode{is_placeholder} to detect placeholders.
15370
15370
15371
15371
\pnum
15372
- Instantiations of the \tcode{is_placeholder} template shall meet
15372
+ Specializations of the \tcode{is_placeholder} template shall meet
15373
15373
the \oldconcept{UnaryTypeTrait} requirements\iref{meta.rqmts}. The implementation
15374
- shall provide a definition that has the base characteristic of
15374
+ provides a definition that has the base characteristic of
15375
15375
\tcode{integral_constant<int, \placeholder{J}>} if \tcode{T} is the type of
15376
- \tcode{std::placeholders::_\placeholder{J}}, otherwise it shall have a
15376
+ \tcode{std::placeholders::_\placeholder{J}}, otherwise it has a
15377
15377
base characteristic of \tcode{integral_constant<int, 0>}. A program
15378
15378
may specialize this template for a program-defined type \tcode{T} to
15379
15379
have a base characteristic of \tcode{integral_constant<int, N>}
@@ -15418,14 +15418,14 @@
15418
15418
15419
15419
\pnum\returns
15420
15420
An argument forwarding call wrapper \tcode{g}\iref{func.require}.
15421
- The effect of \tcode{g($\tcode{u}_1$, $\tcode{u}_2$, $\dotsc$, $\tcode{u}_M$)} shall
15422
- be
15421
+ The effect of \tcode{g($\tcode{u}_1$, $\tcode{u}_2$, $\dotsc$, $\tcode{u}_M$)}
15422
+ is
15423
15423
\begin{codeblock}
15424
15424
@\placeholdernc{INVOKE}@(fd, std::forward<@$\tcode{V}_1$@>(@$\tcode{v}_1$@), std::forward<@$\tcode{V}_2$@>(@$\tcode{v}_2$@), @$\dotsc$@, std::forward<@$\tcode{V}_N$@>(@$\tcode{v}_N$@))
15425
15425
\end{codeblock}
15426
15426
where the values and types of the bound
15427
15427
arguments $\tcode{v}_1$, $\tcode{v}_2$, $\dotsc$, $\tcode{v}_N$ are determined as specified below.
15428
- The copy constructor and move constructor of the argument forwarding call wrapper shall throw an
15428
+ The copy constructor and move constructor of the argument forwarding call wrapper throw an
15429
15429
exception if and only if the corresponding constructor of \tcode{FD} or of any of the types
15430
15430
$\tcode{TD}_i$ throws an exception.
15431
15431
15434
15434
\tcode{fd} or of one of the values $\tcode{td}_i$ throws an exception.
15435
15435
15436
15436
\pnum
15437
- \remarks The return type shall meet the \oldconcept{MoveConstructible} requirements. If all
15437
+ \remarks The return type meets the \oldconcept{MoveConstructible} requirements. If all
15438
15438
of \tcode{FD} and $\tcode{TD}_i$ meet the \oldconcept{CopyConstructible} requirements, then the
15439
- return type shall meet the \oldconcept{CopyConstructible} requirements. \begin{note} This implies
15439
+ return type meets the \oldconcept{CopyConstructible} requirements. \begin{note} This implies
15440
15440
that all of \tcode{FD} and $\tcode{TD}_i$ are \oldconcept{MoveConst\-ruct\-ible}. \end{note}
15441
15441
\end{itemdescr}
15442
15442
@@ -15462,13 +15462,13 @@
15462
15462
\returns
15463
15463
An argument forwarding call wrapper \tcode{g}\iref{func.require}.
15464
15464
The effect of
15465
- \tcode{g($\tcode{u}_1$, $\tcode{u}_2$, $\dotsc$, $\tcode{u}_M$)} shall be
15465
+ \tcode{g($\tcode{u}_1$, $\tcode{u}_2$, $\dotsc$, $\tcode{u}_M$)} is
15466
15466
\begin{codeblock}
15467
15467
@\placeholdernc{INVOKE}@<R>(fd, std::forward<@$\tcode{V}_1$@>(@$\tcode{v}_1$@), std::forward<@$\tcode{V}_2$@>(@$\tcode{v}_2$@), @$\dotsc$@, std::forward<@$\tcode{V}_N$@>(@$\tcode{v}_N$@))
15468
15468
\end{codeblock}
15469
15469
where the values and types of the bound
15470
15470
arguments $\tcode{v}_1$, $\tcode{v}_2$, $\dotsc$, $\tcode{v}_N$ are determined as specified below.
15471
- The copy constructor and move constructor of the argument forwarding call wrapper shall throw an
15471
+ The copy constructor and move constructor of the argument forwarding call wrapper throw an
15472
15472
exception if and only if the corresponding constructor of \tcode{FD} or of any of the types
15473
15473
$\tcode{TD}_i$ throws an exception.
15474
15474
15477
15477
\tcode{fd} or of one of the values $\tcode{td}_i$ throws an exception.
15478
15478
15479
15479
\pnum
15480
- \remarks The return type shall meet the \oldconcept{MoveConstructible} requirements. If all
15480
+ \remarks The return type meets the \oldconcept{MoveConstructible} requirements. If all
15481
15481
of \tcode{FD} and $\tcode{TD}_i$ meet the \oldconcept{CopyConstructible} requirements, then the
15482
- return type shall meet the \oldconcept{CopyConstructible} requirements. \begin{note} This implies
15482
+ return type meets the \oldconcept{CopyConstructible} requirements. \begin{note} This implies
15483
15483
that all of \tcode{FD} and $\tcode{TD}_i$ are \oldconcept{MoveConst\-ruct\-ible}. \end{note}
15484
15484
\end{itemdescr}
15485
15485
0 commit comments