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

FreeBSD Manual Pages

  
 
  

home | help
std::moneypunct_byname(3)     C++ Standard Libary    std::moneypunct_byname(3)

NAME
       std::moneypunct_byname -	std::moneypunct_byname

Synopsis
	  Defined in header <locale>
	  template< class CharT, bool Intl = false >
	  class	moneypunct_byname : public std::moneypunct<CharT, Intl>;

	  std::moneypunct_byname is a std::moneypunct facet which encapsulates
       monetary
	  formatting preferences of a locale specified at its construction.

Specializations
	  The  standard	 library is guaranteed to provide every	specialization
       that satisfies
	  the following	type requirements:

	    * CharT is one of char and wchar_t,	and
	    * Intl is a	possible specialization	on a bool parameter.

Member types
	  Member type Definition
	  pattern     std::money_base::pattern
	  string_type std::basic_string<CharT>

Member functions
	  constructor	constructs a new moneypunct_byname facet
			(public	member function)
	  destructor	destroys a moneypunct_byname facet
			(protected member function)

       std::moneypunct_byname::moneypunct_byname

	  explicit moneypunct_byname( const char* name,	std::size_t refs  =  0
       );
	  explicit  moneypunct_byname(	const  std::string&  name, std::size_t
       refs  (since C++11)
	  = 0 );

	  Constructs a new std::moneypunct_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::moneypunct_byname::~moneypunct_byname

	  protected:
	  ~moneypunct_byname();

	  Destroys the facet.

       Inherited from std::moneypunct

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

Member functions
			invokes	do_decimal_point
	  decimal_point	 (public  member function of std::moneypunct<CharT,In-
       ternational>)

			invokes	do_thousands_sep
	  thousands_sep	(public	member function	 of  std::moneypunct<CharT,In-
       ternational>)

			invokes	do_grouping
	  grouping	 (public  member function of std::moneypunct<CharT,In-
       ternational>)

			invokes	do_curr_symbol
	  curr_symbol	(public	member function	 of  std::moneypunct<CharT,In-
       ternational>)

	  positive_sign	invokes	do_positive_sign or do_negative_sign
	  negative_sign	 (public  member function of std::moneypunct<CharT,In-
       ternational>)

			invokes	do_frac_digits
	  frac_digits	(public	member function	 of  std::moneypunct<CharT,In-
       ternational>)

	  pos_format	invokes	do_pos_format/do_neg_format
	  neg_format	 (public  member function of std::moneypunct<CharT,In-
       ternational>)

Protected member functions
	  do_decimal_point provides the	character to use as decimal point
	  [virtual]	   (virtual protected member function of
			   std::moneypunct<CharT,International>)
	  do_thousands_sep provides the	character to use as thousands  separa-
       tor
	  [virtual]	   (virtual protected member function of
			   std::moneypunct<CharT,International>)
			   provides the	numbers	of digits between each pair of
       thousands
	  do_grouping	   separators
	  [virtual]	   (virtual protected member function of
			   std::moneypunct<CharT,International>)
	  do_curr_symbol    provides the string	to use as the currency identi-
       fier
	  [virtual]	   (virtual protected member function of
			   std::moneypunct<CharT,International>)
	  do_positive_sign provides the	string to indicate a positive or nega-
       tive value
	  do_negative_sign (virtual protected member function of
	  [virtual]	   std::moneypunct<CharT,International>)
	  do_frac_digits   provides the	number of digits to display after  the
       decimal point
	  [virtual]	   (virtual protected member function of
			   std::moneypunct<CharT,International>)
	  do_pos_format	   provides the	formatting pattern for currency	values
	  do_neg_format	   (virtual protected member function of
	  [virtual]	   std::moneypunct<CharT,International>)

Member constants
	  Member		   Definition
	  const	bool intl (static) International

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

       Inherited from std::money_base

	  Member type					  Definition
	  enum part { none, space, symbol, sign, value }; unscoped enumeration
       type
	  struct  pattern { char field[4]; };		   the monetary	format
       type

	  Enumeration constant Definition
	  none		       whitespace is permitted but not required	except
       in the last
			       position, where whitespace is not permitted
	  space		       one or more whitespace characters are required
	  symbol	       the sequence of characters returned by
			       std::moneypunct::curr_symbol is required
			       the first of the	characters returned by
	  sign		       std::moneypunct::positive_sign or
			       std::moneypunct::negative_sign is required
	  value		       the absolute numeric monetary value is required

Example
	  This example demonstrates how	to apply monetary formatting rules  of
       another language
	  without changing the rest of the locale.

       // Run this code

	#include <iomanip>
	#include <iostream>
	#include <locale>

	int main()
	{
	    long double	mon = 1234567;
	    std::locale::global(std::locale("en_US.utf8"));
	    std::wcout.imbue(std::locale());
	    std::wcout << L"american locale: " << std::showbase
		       << std::put_money(mon) << '\n';
	    std::wcout.imbue(std::locale(std::wcout.getloc(),
					 new		   std::moneypunct_by-
       name<wchar_t>("ru_RU.utf8")));
	    std::wcout << L"american locale with russian moneypunct: "
		       << std::put_money(mon) << '\n';
	}

Output:
	american locale: $12,345.67
	american locale	with russian moneypunct: 12 345.67

See also
		     defines   monetary	  formatting   parameters   used    by
       std::money_get and
	  moneypunct std::money_put
		     (class template)

http://cppreference.com		  2024.06.10	     std::moneypunct_byname(3)

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

home | help