|
317 | 317 | \pnum
|
318 | 318 | \ifndrxref{temp.pre.reach.def} \\
|
319 | 319 | A definition of a function template, member function of a class template, variable template, or static data
|
320 |
| -member of a class template shall be reachable from the end of every definition domain (6.3) in which it is |
321 |
| -implicitly instantiated (13.9.2) unless the corresponding specialization is explicitly instantiated (13.9.3) in |
| 320 | +member of a class template shall be reachable from the end of every definition domain\iref{basic.def.odr} in which it is |
| 321 | +implicitly instantiated\iref{temp.inst} unless the corresponding specialization is explicitly instantiated\iref{temp.explicit} in |
322 | 322 | some translation unit; no diagnostic is required.
|
323 | 323 |
|
324 | 324 | \pnum
|
|
342 | 342 |
|
343 | 343 | \pnum
|
344 | 344 | \ifndrxref{temp.arg.template.sat.constraints} \\
|
345 |
| -Any partial specializations (13.7.6) associated with the primary template are considered when a specialization |
| 345 | +Any partial specializations\iref{temp.spec.partial} associated with the primary template are considered when a specialization |
346 | 346 | based on the template template-parameter is instantiated. If a specialization is not reachable from the point of
|
347 | 347 | instantiation, and it would have been selected had it been reachable, the program is ill-formed, no diagnostic
|
348 | 348 | required.
|
|
460 | 460 | \pnum
|
461 | 461 | \ifndrxref{temp.names.sat.constraints} \\
|
462 | 462 | When the template-name of a simple-template-id names a constrained non-function template or a constrained
|
463 |
| -template template-parameter, and all template-arguments in the simple-template-id are non-dependent (13.8.3.5), |
464 |
| -the associated constraints (13.5.3) of the constrained template shall be satisfied (13.5.2). |
| 463 | +template template-parameter, and all template-arguments in the simple-template-id are non-dependent\iref{temp.dep.temp}, |
| 464 | +the associated constraints\iref{temp.constr.decl} of the constrained template shall be satisfied\iref{temp.constr.constr}. |
465 | 465 |
|
466 | 466 | \pnum
|
467 | 467 | \begin{example}
|
|
506 | 506 | \ifndrxref{temp.res.general.default.but.not.found} \\
|
507 | 507 | If the validity or meaning of the program would be changed by considering a default argument or default
|
508 | 508 | template argument introduced in a declaration that is reachable from the point of instantiation of a
|
509 |
| -specialization (13.8.4.1) but is not found by lookup for the specialization, the program is ill-formed, no |
| 509 | +specialization\iref{temp.point} but is not found by lookup for the specialization, the program is ill-formed, no |
510 | 510 | diagnostic required.
|
511 | 511 |
|
512 | 512 | \pnum
|
|
557 | 557 | \ifndrxref{temp.explicit.decl.implicit.inst} \\
|
558 | 558 | An entity that is the subject of
|
559 | 559 | an explicit instantiation declaration and that is also used in a way that would otherwise cause an implicit
|
560 |
| -instantiation (13.9.2) in the translation unit shall be the subject of an explicit instantiation definition |
| 560 | +instantiation\iref{temp.inst} in the translation unit shall be the subject of an explicit instantiation definition |
561 | 561 | somewhere in the program; otherwise the program is ill-formed, no diagnostic required.
|
562 | 562 |
|
563 | 563 | \pnum
|
|
0 commit comments