Created on 2000-02-11.00:00:00 last changed 161 months ago
[Voted into WP at April 2003 meeting.]
Notes from the 4/02 meeting:
This is resolved by the proposed changes for issue 323.
Notes from 04/00 meeting:
John Spicer opined that even though Clause 13 [temp] paragraph 7 speaks of "declaring a class template exported," that does not mean that the class template is "an exported template" in the sense of paragraph 8. He suggested clarifying paragraph 7 to that effect instead of the change to paragraph 8 suggested above, and questioned the need for a change to 13.9.2 [temp.inst].
Clause 13 [temp] paragraph 7 allows class templates to be declared exported, including member classes and member class templates (implicitly by virtue of exporting the containing template class). However, paragraph 8 does not exclude exported class templates from the statement that
An exported template need only be declared (and not necessarily defined) in a translation unit in which it is instantiated.This is an incorrect implication; however, it is also not dispelled in 13.9.2 [temp.inst] paragraph 6:
If an implicit instantiation of a class template specialization is required and the template is declared but not defined, the program is ill-formed.This wording says nothing about the translation unit in which the definition must be provided. Contrast this with 13.9.3 [temp.explicit] paragraph 3:
A definition of a class template or a class member template shall be in scope at the point of the explicit instantiation of the class template or class member template.
(See also issue 212.)
|2008-10-05 00:00:00||admin||set||status: wp -> cd1|
|2003-04-25 00:00:00||admin||set||messages: + msg868|
|2003-04-25 00:00:00||admin||set||status: ready -> wp|
|2002-11-08 00:00:00||admin||set||status: review -> ready|
|2002-05-10 00:00:00||admin||set||messages: + msg629|
|2002-05-10 00:00:00||admin||set||status: open -> review|
|2000-05-21 00:00:00||admin||set||messages: + msg359|