| std::locale::id(3) | C++ Standard Libary | std::locale::id(3) | 
NAME¶
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 constructs a new id
  
   (public member function)
  
   operator= copy assignment operator is deleted
  
   (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:¶
has_facet<myfacet>(myloc) returns true
See also¶
 the base class for all facet categories: each facet of any
    category is derived
  
   facet from this type
  
   (class)
| 2022.07.31 | http://cppreference.com |