|
6213 | 6213 | A member function, member class or static data member of a class template can
|
6214 | 6214 | be explicitly instantiated from the member definition associated with its class
|
6215 | 6215 | template.
|
6216 |
| -An explicit instantiation of a |
6217 |
| -function template, |
6218 |
| -member function of a class template, or |
6219 |
| -variable template |
6220 |
| -shall not |
6221 |
| -use the \tcode{inline}, \tcode{constexpr}, or \tcode{consteval} specifiers. |
6222 | 6216 |
|
6223 | 6217 | \pnum
|
6224 | 6218 | The syntax for explicit instantiation is:
|
|
6232 | 6226 | definition and an explicit instantiation declaration. An explicit instantiation
|
6233 | 6227 | declaration begins with the \tcode{extern} keyword.
|
6234 | 6228 |
|
| 6229 | +\pnum |
| 6230 | +An explicit instantiation shall not use |
| 6231 | +a \grammarterm{storage-class-specifier}\iref{dcl.stc} |
| 6232 | +other than \keyword{thread_local}. |
| 6233 | +An explicit instantiation of a |
| 6234 | +function template, |
| 6235 | +member function of a class template, or |
| 6236 | +variable template |
| 6237 | +shall not |
| 6238 | +use the \tcode{inline}, \tcode{constexpr}, or \tcode{consteval} specifiers. |
| 6239 | +No \grammarterm{attribute-specifier-seq}\iref{dcl.attr.grammar} |
| 6240 | +shall appertain to an explicit instantiation. |
| 6241 | + |
6235 | 6242 | \pnum
|
6236 | 6243 | If the explicit instantiation is for a class or member class, the
|
6237 | 6244 | \grammarterm{elaborated-type-specifier} in the \grammarterm{declaration}
|
|
6527 | 6534 | types will be sorted by functions generated from the template.
|
6528 | 6535 | \end{example}
|
6529 | 6536 |
|
| 6537 | +\pnum |
| 6538 | +An explicit specialization shall not use |
| 6539 | +a \grammarterm{storage-class-specifier}\iref{dcl.stc} |
| 6540 | +other than \keyword{thread_local}. |
| 6541 | + |
6530 | 6542 | \pnum
|
6531 | 6543 | An explicit specialization
|
6532 | 6544 | may be declared in any scope in which the corresponding primary template
|
|
0 commit comments