317. Instantiation vs. specialization of facets

Section: 25 [localization] Status: CD1 Submitter: Martin Sebor Opened: 2001-05-04 Last modified: 2016-02-10

Priority: Not Prioritized

View all other issues in [localization].

View all issues with CD1 status.

Discussion:

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).

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...

[Nathan will review these changes, and will look for places where explicit specialization is necessary.]

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.