Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::numpunct_byname(3)	      C++ Standard Libary      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 nu-
       meric punctuation
	  preferences of a locale specified at its construction.

	  Two specializations are provided by the standard library

	  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
					characters 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  implementa-
       tion 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 separa-
       tor
	  [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 demonistrates 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_by-
       name<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)

http://cppreference.com		  2022.07.31	       std::numpunct_byname(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::numpunct_byname&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help