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  implementation
     destroys the
	facet,	when the last std::locale object holding it is destroyed. Other-
     wise, 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,Interna-
     tional>)

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

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

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

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

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

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

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 separator
	[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 identifier
	[virtual]	 (virtual protected member function of
			 std::moneypunct<CharT,International>)
	do_positive_sign provides the string to indicate a positive or	negative
     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 dec-
     imal 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 an-
     other 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 NNDh+/-

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)

home | help