table of contents
        
      
      
    | 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 retroactively to
  
   previously published C++ standards.
  
   DR Applied to Behavior as published Correct behavior
  
   LWG 14 C++98 locale::combine was non-const made const
  
   LWG 436 C++98 it was unclear whether Facet it can be const-qualified, but not
  
   can be cv-qualified volatile-qualified
See also¶
 constructor constructs a new locale
  
   (public member function)
| 2024.06.10 | http://cppreference.com |