std::use_facet
| Defined in header <locale> | ||
|---|---|---|
| template< class Facet > const Facet& use_facet( const std::locale& loc ); | 
Obtains a reference to a facet implemented by loc.
Parameters
| loc | - | the locale object to query | 
Return value
Returns a reference to the facet. The reference returned by this function is valid as long as any std::locale object exists that implements Facet.
Exceptions
std::bad_cast if std::has_facet<Facet>(loc) == false.
Example
Display the 3-letter currency name used by the user's preferred locale.
#include <iostream>
#include <locale>
 
int main()
{
    std::locale loc = std::locale(""); // user's preferred locale
    std::cout << "Your currency string is "
              << std::use_facet<std::moneypunct<char, true>>(loc).curr_symbol() << '\n';
}Output:
Your currency string is USD
See also
| set of polymorphic facets that encapsulate cultural differences (class) | |
| checks if a locale implements a specific facet (function template) | 
    © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
    http://en.cppreference.com/w/cpp/locale/use_facet