std::numpunct_byname(3)

NAME
std::numpunct_byname - std::numpunct_byname

Synopsis
   Defined in header <locale>
   template< class CharT >
   class numpunct_byname : public std::numpunct<CharT>;
   std::numpunct_byname is a std::numpunct facet which encapsulates numeric punctuation
   preferences of a locale specified at its construction.

Specializations
   The standard library is guaranteed to provide the following specializations:
   Defined in header <locale>
   std::numpunct_byname<char> locale-specific std::numpunct facet for narrow
                        character I/O
   std::numpunct_byname<wchar_t> locale-specific std::numpunct facet for wide character
                        I/O

Member types
   Member type Definition
   char_type CharT
   string_type std::basic_string<CharT>

Member functions
   constructor constructs a new numpunct_byname facet
                 (public member function)
   destructor destroys a numpunct_byname facet
                 (protected member function) std::numpunct_byname::numpunct_byname
   explicit numpunct_byname( const char* name, std::size_t refs = 0 );
   explicit numpunct_byname( const std::string& name, std::size_t refs = (since C++11)
   0 );
   Constructs a new std::numpunct_byname facet for a locale with name.
   refs is used for resource management: if refs == 0, the implementation destroys the
   facet, when the last std::locale object holding it is destroyed. Otherwise, the
   object is not destroyed.

Parameters
   name - the name of the locale
   refs - the number of references that link to the facet std::numpunct_byname::~numpunct_byname
   protected:
   ~numpunct_byname();
   Destroys the facet. Inherited from std::numpunct

Member types
   Member type Definition
   char_type CharT
   string_type std::basic_string<CharT>

Member functions
   decimal_point invokes do_decimal_point
                 (public member function of std::numpunct<CharT>)
   thousands_sep invokes do_thousands_sep
                 (public member function of std::numpunct<CharT>)
   grouping invokes do_grouping
                 (public member function of std::numpunct<CharT>)
   truename invokes do_truename or do_falsename
   falsename (public member function of std::numpunct<CharT>)

Protected member functions
   do_decimal_point provides the character to use as decimal point
   [virtual] (virtual protected member function of std::numpunct<CharT>)
   do_thousands_sep provides the character to use as thousands separator
   [virtual] (virtual protected member function of std::numpunct<CharT>)
   do_grouping provides the numbers of digits between each pair of thousands
   [virtual] separators
                    (virtual protected member function of std::numpunct<CharT>)
   do_truename provides the string to use as the name of the boolean true and
   do_falsename false
   [virtual] (virtual protected member function of std::numpunct<CharT>)

Member objects
   static std::locale::id id id of the locale
                        (public member object)

Example
   This example demonstrates how to apply numeric punctuation rules of another language
   without changing the rest of the locale. // Run this code
 #include <iostream>
 #include <locale>
 int main()
 {
     const double number = 1000.25;
     std::wcout << L"default locale: " << number << L'\n';
     std::wcout.imbue(std::locale(std::wcout.getloc(),
                        new std::numpunct_byname<wchar_t>("ru_RU.UTF8")));
     std::wcout << L"default locale with russian numpunct: " << number << L'\n';
 }

Output:
 default locale: 1000.25
 default locale with russian numpunct: 1 000,25

See also
   numpunct defines numeric punctuation rules
            (class template)