You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[locale.facet]/1 (then-called [lib.locale.facet]) read in C++03:
Class facet is the base class for locale feature sets. A class is a facet if it is publicly derived from another facet, or if it is a class derived from locale::facet and containing a publicly-accessible declaration as follows: 221)
static ::std::locale::id id;
Template parameters in this clause which are required to be facets are those named Facet in declarations. A program that passes a type that is not a facet, as an (explicit or deduced) template parameter to a locale function expecting a facet, is ill-formed.
221) This is a complete list of requirements; there are no other requirements. Thus, a facet class need not have a public copy constructor, assignment, default constructor, destructor, etc.
LWG 436's intent appears to be to ban volatile-qualified facets and permitting const-qualified ones. The PR was somewhat poorly worded, however, and the editor in applying it deleted the whole first half of the paragraph, including the definition of facet and the requirement for a static data member named id.
As a result, we have things like [locale.id]/2 and [locale.global.templates]/1 referring to the id member that's not defined anywhere in the working draft.
(If this isn't editorial, I'll be happy to submit an LWG issue instead.)
The text was updated successfully, but these errors were encountered:
I'm not finding LWG436 referenced in any git logs in master, so it's hard to know what happened. Checking the sources, the latex hasn't changed since 2011-08-16. Since it's such an old issue however (from 2010), I think it would be good to run it by LWG again (and ask them to fix the poor wording while they're at it). Please submit an LWG issue for it and close this. Thanks!
[locale.facet]/1 (then-called [lib.locale.facet]) read in C++03:
LWG 436's intent appears to be to ban volatile-qualified facets and permitting const-qualified ones. The PR was somewhat poorly worded, however, and the editor in applying it deleted the whole first half of the paragraph, including the definition of facet and the requirement for a static data member named
id
.As a result, we have things like [locale.id]/2 and [locale.global.templates]/1 referring to the
id
member that's not defined anywhere in the working draft.(If this isn't editorial, I'll be happy to submit an LWG issue instead.)
The text was updated successfully, but these errors were encountered: