C++ Locale Library - combine



Description

It constructs copy of locale modifying one facet and returns a locale object constructed from a copy of *this, except for the facet specified by template parameter Facet, which is taken from x.

Declaration

Following is the declaration for std::locale::combine.

C++98

	
   template <class Facet> locale combine (const locale& x) const;

C++11

   template <class Facet> locale combine (const locale& x) const;

Parameters

x − It is a locale objects whose facet Facet is used by the new locale.

Return Value

It returns the resulting locale object, which has no name.

Exceptions

Basic guarantee − if an exception is thrown, the object is in a valid state.

Data races

The locale object is modified.

Example

In below example explains about std::locale::combine.

#include <iostream>
#include <locale>

int main () {
   std::locale loc("");
  
   loc = loc.combine< std::num_put<char> > (std::locale::classic());

   std::cout.imbue(loc);
   std::cout << 3.1 << '\n';
   return 0;
}

Let us compile and run the above program, this will produce the following result −

3.1
locale.htm
Advertisements