This page is a snapshot from the LWG issues list, see theLibrary Active Issues List for more information and the meaning ofTC1 status.
Section: 28.3.3.2[locale.global.templates]Status:TC1Submitter: Nathan MyersOpened: 1998-08-06Last modified: 2016-01-28
Priority:Not Prioritized
View all issues withTC1 status.
Discussion:
It has been noticed by Esa Pulkkinen that the definition of"facet" is incomplete. In particular, a class derived fromanother facet, but which does not define a memberid, cannotsafely serve as the argumentF to use_facet<F>(loc),because there is no guarantee that a reference to the facet instancestored inloc is safely convertible toF.
Proposed resolution:
In the definition of std::use_facet<>(), replace the text in paragraph 1 whichreads:
Get a reference to a facet of a locale.
with:
Requires:
Facetis a facet class whose definition contains the public static memberidas defined in 28.3.3.1.2.2[locale.facet].
[Kona: strike as overspecification the text "(not inherits)"from the original resolution, which read "... whose definitioncontains (not inherits) the public static memberid..."]