|
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