home | help
std::locale::combine(3)        C++ Standard Libary	 std::locale::combine(3)

NAME
     std::locale::combine - std::locale::combine

Synopsis
	Defined in header <locale>
	template< class Facet >
	locale combine( const locale& other ) const;

	Constructs a locale object which is a copy of *this except for the facet
     of type
	Facet, which is copied from other.

	The  program  is ill-formed if Facet is not a facet or it is a volatile-
     qualified
	facet.

Return value
	The new, nameless, locale.

Exceptions
	std::runtime_error if other does not implement Facet.

Example
     // Run this code

      #include <iostream>
      #include <locale>

      int main()
      {
	  const double number = 1000.25;
	  std::cout << "\"C\" locale: " << number << '\n';
	  std::locale loc = std::locale()
	      .combine<std::numpunct<char>>(std::locale("en_US.UTF8"));
	  std::cout.imbue(loc);
	  std::cout << "\"C\" locale with en_US numpunct: " << number << '\n';
      }

Output:
      "C" locale: 1000.25
      "C" locale with en_US numpunct: 1,000.25

	Defect reports

	The following behavior-changing defect	reports  were  applied	retroac-
     tively to
	previously published C++ standards.

	  DR	 Applied  to	 Behavior as published		     Correct be-
     havior
	LWG 14	C++98	   locale::combine was non-const  made const
	LWG 436 C++98	   it was unclear whether Facet   it can be const-quali-
     fied, but not
			   can be cv-qualified		  volatile-qualified

See also
	constructor   constructs a new locale
		      (public member function)

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

home | help