home | help
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 identifica-
     tion of a
	locale facet. Each facet has 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 cate-
     gory is derived
	facet from this type
	      (class)

http://cppreference.com 	   2024.06.10		      std::locale::id(3)

home | help