Created on 2001-05-04.00:00:00 last changed 172 months ago
Rationale:
This is a simple matter of outdated language. The language to describe templates was clarified during the standardization process, but the wording in clause 22 was never updated to reflect that change.
[ Nathan will review these changes, and will look for places where explicit specialization is necessary. ]
Proposed resolution:
In the following paragraphs, replace all occurrences of the word instantiation or instantiations with specialization or specializations, respectively:
22.1.1.1.1, p4, Table 52, 22.2.1.1, p2, 22.2.1.5, p3, 22.2.1.5.1, p5, 22.2.1.5.2, p10, 22.2.2, p2, 22.2.3.1, p1, 22.2.3.1.2, p1, p2 and p3, 22.2.4.1, p1, 22.2.4.1.2, p1, 22,2,5, p1, 22,2,6, p2, 22.2.6.3.2, p7, and Footnote 242.
And change the text in 22.1.1.1.1, p4 from
An implementation is required to provide those instantiations for facet templates identified as members of a category, and for those shown in Table 52:
to
An implementation is required to provide those specializations...
The localization section of the standard refers to specializations of the facet templates as instantiations even though the required facets are typically specialized rather than explicitly (or implicitly) instantiated. In the case of ctype<char> and ctype_byname<char> (and the wchar_t versions), these facets are actually required to be specialized. The terminology should be corrected to make it clear that the standard doesn't mandate explicit instantiation (the term specialization encompasses both explicit instantiations and specializations).
History | |||
---|---|---|---|
Date | User | Action | Args |
2010-10-21 18:28:33 | admin | set | messages: + msg2216 |
2010-10-21 18:28:33 | admin | set | messages: + msg2215 |
2010-10-21 18:28:33 | admin | set | messages: + msg2214 |
2001-05-04 00:00:00 | admin | create |