|
416 | 416 | \notes If this function is odr-used~(\ref{basic.def.odr}), the program is ill-formed.
|
417 | 417 |
|
418 | 418 | \pnum
|
419 |
| -\notes The template parameter \tcode{T} of \tcode{declval} may be an incomplete type. |
| 419 | +\notes In an instantiation of \tcode{declval}, an incomplete type may be |
| 420 | +used as the template argument for the template parameter \tcode{T}. |
420 | 421 |
|
421 | 422 | \enterexample
|
422 | 423 | \begin{codeblock}
|
|
4347 | 4348 | of a unique pointer. In partial satisfaction of these semantics, each such \tcode{U}
|
4348 | 4349 | is \tcode{MoveConstructible} and \tcode{MoveAssignable}, but is not
|
4349 | 4350 | \tcode{CopyConstructible} nor \tcode{CopyAssignable}.
|
4350 |
| -The template parameter \tcode{T} of \tcode{unique_ptr} may be an incomplete type. |
| 4351 | +In an instantiation of \tcode{unique_ptr}, an incomplete type may be |
| 4352 | +used as the template argument for the template parameter \tcode{T}. |
4351 | 4353 |
|
4352 | 4354 | \pnum
|
4353 | 4355 | \enternote The uses
|
|
4420 | 4422 | for the class template \tcode{unique_ptr}.
|
4421 | 4423 |
|
4422 | 4424 | \pnum
|
4423 |
| -The template parameter \tcode{T} of \tcode{default_delete} may be |
4424 |
| -an incomplete type. |
| 4425 | +In an instantiation of \tcode{default_delete}, an incomplete type may be |
| 4426 | +used as the template argument for the template parameter \tcode{T}. |
4425 | 4427 |
|
4426 | 4428 | \rSec4[unique.ptr.dltr.dflt]{\tcode{default_delete}}
|
4427 | 4429 |
|
|
5549 | 5551 | Specializations of \tcode{shared_ptr} shall be \tcode{CopyConstructible},
|
5550 | 5552 | \tcode{CopyAssignable}, and \tcode{LessThanComparable}, allowing their use in standard
|
5551 | 5553 | containers. Specializations of \tcode{shared_ptr} shall be convertible to \tcode{bool},
|
5552 |
| -allowing their use in boolean expressions and declarations in conditions. The template |
5553 |
| -parameter \tcode{T} of \tcode{shared_ptr} may be an incomplete type. |
| 5554 | +allowing their use in boolean expressions and declarations in conditions. |
| 5555 | +In an instantiation of \tcode{shared_ptr}, an incomplete type may be |
| 5556 | +used as the template argument for the template parameter \tcode{T}. |
5554 | 5557 |
|
5555 | 5558 | \pnum
|
5556 | 5559 | \enterexample
|
|
6350 | 6353 | \pnum
|
6351 | 6354 | Specializations of \tcode{weak_ptr} shall be \tcode{CopyConstructible} and
|
6352 | 6355 | \tcode{CopyAssignable}, allowing their use in standard
|
6353 |
| -containers. The template parameter \tcode{T} of \tcode{weak_ptr} may be an |
6354 |
| -incomplete type. |
| 6356 | +containers. |
| 6357 | +In an instantiation of \tcode{weak_ptr}, an incomplete type may be |
| 6358 | +used as the template argument for the template parameter \tcode{T}. |
6355 | 6359 |
|
6356 | 6360 | \rSec4[util.smartptr.weak.const]{\tcode{weak_ptr} constructors}
|
6357 | 6361 |
|
|
6621 | 6625 | \end{codeblock}
|
6622 | 6626 |
|
6623 | 6627 | \pnum
|
6624 |
| -The template parameter \tcode{T} of \tcode{enable_shared_from_this} |
6625 |
| -may be an incomplete type. |
| 6628 | +In an instantiation of \tcode{enable_shared_from_this}, an incomplete type |
| 6629 | +may be used as the template argument for the template parameter \tcode{T}. |
6626 | 6630 |
|
6627 | 6631 | \indexlibrary{\idxcode{enable_shared_from_this}!constructor}%
|
6628 | 6632 | \begin{itemdecl}
|
|
0 commit comments