|
438 | 438 | \notes If this function is odr-used~(\ref{basic.def.odr}), the program is ill-formed.
|
439 | 439 |
|
440 | 440 | \pnum
|
441 |
| -\notes The template parameter \tcode{T} of \tcode{declval} may be an incomplete type. |
| 441 | +\notes In an instantiation of \tcode{declval}, an incomplete type may be |
| 442 | +used as the template argument for the template parameter \tcode{T}. |
442 | 443 |
|
443 | 444 | \enterexample
|
444 | 445 | \begin{codeblock}
|
|
4448 | 4449 | of a unique pointer. In partial satisfaction of these semantics, each such \tcode{U}
|
4449 | 4450 | is \tcode{MoveConstructible} and \tcode{MoveAssignable}, but is not
|
4450 | 4451 | \tcode{CopyConstructible} nor \tcode{CopyAssignable}.
|
4451 |
| -The template parameter \tcode{T} of \tcode{unique_ptr} may be an incomplete type. |
| 4452 | +In an instantiation of \tcode{unique_ptr}, an incomplete type may be |
| 4453 | +used as the template argument for the template parameter \tcode{T}. |
4452 | 4454 |
|
4453 | 4455 | \pnum
|
4454 | 4456 | \enternote The uses
|
|
4521 | 4523 | for the class template \tcode{unique_ptr}.
|
4522 | 4524 |
|
4523 | 4525 | \pnum
|
4524 |
| -The template parameter \tcode{T} of \tcode{default_delete} may be |
4525 |
| -an incomplete type. |
| 4526 | +In an instantiation of \tcode{default_delete}, an incomplete type may be |
| 4527 | +used as the template argument for the template parameter \tcode{T}. |
4526 | 4528 |
|
4527 | 4529 | \rSec4[unique.ptr.dltr.dflt]{\tcode{default_delete}}
|
4528 | 4530 |
|
|
5736 | 5738 | \tcode{CopyAssignable}, and \tcode{LessThanComparable}, allowing their use in standard
|
5737 | 5739 | containers. Specializations of \tcode{shared_ptr} shall be
|
5738 | 5740 | contextually convertible to \tcode{bool},
|
5739 |
| -allowing their use in boolean expressions and declarations in conditions. The template |
5740 |
| -parameter \tcode{T} of \tcode{shared_ptr} may be an incomplete type. |
| 5741 | +allowing their use in boolean expressions and declarations in conditions. |
| 5742 | +In an instantiation of \tcode{shared_ptr}, an incomplete type may be |
| 5743 | +used as the template argument for the template parameter \tcode{T}. |
5741 | 5744 |
|
5742 | 5745 | \pnum
|
5743 | 5746 | \enterexample
|
|
6505 | 6508 | \pnum
|
6506 | 6509 | Specializations of \tcode{weak_ptr} shall be \tcode{CopyConstructible} and
|
6507 | 6510 | \tcode{CopyAssignable}, allowing their use in standard
|
6508 |
| -containers. The template parameter \tcode{T} of \tcode{weak_ptr} may be an |
6509 |
| -incomplete type. |
| 6511 | +containers. |
| 6512 | +In an instantiation of \tcode{weak_ptr}, an incomplete type may be |
| 6513 | +used as the template argument for the template parameter \tcode{T}. |
6510 | 6514 |
|
6511 | 6515 | \rSec4[util.smartptr.weak.const]{\tcode{weak_ptr} constructors}
|
6512 | 6516 |
|
|
6783 | 6787 | \end{codeblock}
|
6784 | 6788 |
|
6785 | 6789 | \pnum
|
6786 |
| -The template parameter \tcode{T} of \tcode{enable_shared_from_this} |
6787 |
| -may be an incomplete type. |
| 6790 | +In an instantiation of \tcode{enable_shared_from_this}, an incomplete type |
| 6791 | +may be used as the template argument for the template parameter \tcode{T}. |
6788 | 6792 |
|
6789 | 6793 | \indexlibrary{\idxcode{enable_shared_from_this}!constructor}%
|
6790 | 6794 | \begin{itemdecl}
|
|
0 commit comments