std::locale::id (3) Linux Manual Page
std::locale::id – std::locale::id
Synopsis
Defined in header <locale>
class locale::id;
The class std::locale::id provides implementation-specific identification of a locale facet. Each class derived from std::locale::facet must have a public static member named id of type std::locale::id and each std::locale object maintains a list of facets it implements, indexed by their ids.
Facets with the same id belong to the same facet category and replace each other when added to a locale object.
Member functions
constructor (public member function)
operator= (public member function)
Example
The following example shows how to construct a minimal custom facet.
// Run this code
#include <iostream>
#include <locale>
struct myfacet : std::locale::facet
{
myfacet(std::size_t refs = 0)
: facet(refs)
{
}
static std::locale::id id;
};
std::locale::id myfacet::id;
int main()
{
std::locale myloc(std::locale(), new myfacet);
std::cout << "has_facet<myfacet>(myloc) returns " << std::boolalpha
<< std::has_facet<myfacet>(myloc) << '\n';
}
Output:
See also
facet (class)
