|
1572 | 1572 |
|
1573 | 1573 | \pnum
|
1574 | 1574 | When resolving a placeholder for a deduced class type\iref{dcl.type.simple}
|
1575 |
| -where the \grammarterm{template-name} names an alias template \tcode{A} |
1576 |
| -whose \grammarterm{defining-type-id} |
1577 |
| -is a \grammarterm{simple-template-id} \tcode{B<L>}, |
1578 |
| -the guides of \tcode{A} are the set of functions or function templates |
| 1575 | +where the \grammarterm{template-name} names an alias template \tcode{A}, |
| 1576 | +the \grammarterm{defining-type-id} must be of the form |
| 1577 | +\begin{ncsimplebnf} |
| 1578 | +\opt{\keyword{typename}} \opt{nested-name-specifier} \opt{\keyword{template}} simple-template-id |
| 1579 | +\end{ncsimplebnf} |
| 1580 | +as specified in \ref{dcl.type.simple}. |
| 1581 | +The guides of \tcode{A} are the set of functions or function templates |
1579 | 1582 | formed as follows.
|
1580 |
| -For each function or function template \tcode{f} in the guides of \tcode{B}, |
| 1583 | +For each function or function template \tcode{f} in the guides of |
| 1584 | +the template named by the \grammarterm{simple-template-id} |
| 1585 | +of the \grammarterm{defining-type-id}, |
1581 | 1586 | form a function or function template \tcode{f'}
|
1582 | 1587 | according to the following procedure and add it to the set:
|
1583 | 1588 | \begin{itemize}
|
1584 | 1589 | \item
|
1585 | 1590 | Deduce the template arguments of the return type of \tcode{f}
|
1586 |
| - from \tcode{B<L>} according to the process in \ref{temp.deduct.type} |
| 1591 | + from the \grammarterm{defining-type-id} of \tcode{A} |
| 1592 | + according to the process in \ref{temp.deduct.type} |
1587 | 1593 | with the exception that deduction does not fail
|
1588 | 1594 | if not all template arguments are deduced.
|
1589 | 1595 | Let \tcode{g} denote the result of substituting
|
|
0 commit comments