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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::money_put -	std::money_put

Synopsis
	  Defined in header <locale>
	  template<

	  class	CharT,
	  class	OutputIt = std::ostreambuf_iterator<CharT>

	  > class money_put;

	  Class	 std::money_put	encapsulates the rules for formatting monetary
       values as
	  strings.  The	 standard  I/O	manipulator  std::put_money  uses  the
       std::money_put facet
	  of the I/O stream's locale.

	  std-money put-inheritance.svg

					  Inheritance diagram

Type requirements
	  -
	  OutputIt must	meet the requirements of LegacyOutputIterator.

Specializations
	  Two  standalone  (locale-independent)	 full  specializations and two
       partial
	  specializations are provided by the standard library:

	  Defined in header <locale>
	  std::money_put<char>		    creates narrow string  representa-
       tions of	monetary
					    values
	  std::money_put<wchar_t>	     creates  wide  string representa-
       tions of	monetary
					    values
	  std::money_put<char, OutputIt>    creates narrow string  representa-
       tions of	monetary
					    values  using custom output	itera-
       tor
	  std::money_put<wchar_t, OutputIt> creates  wide  string  representa-
       tions of	monetary
					    values  using custom output	itera-
       tor

	  In addition, every locale object constructed in a C++	program	imple-
       ments its own
	  (locale-specific) versions of	these specializations.

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

Member functions
	  constructor	constructs a new money_put facet
			(public	member function)
	  destructor	destructs a money_put facet
			(protected member function)
	  put		invokes	do_put
			(public	member function)

Protected member functions
	  do_put    formats a monetary value and writes	to output stream
	  [virtual] (virtual protected member function)

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

Example
       // Run this code

	#include <iostream>
	#include <locale>
	#include <iomanip>
	#include <iterator>
	int main()
	{
	    // using the IO manipulator
	    std::cout.imbue(std::locale("en_US.UTF-8"));
	    std::cout << "american locale: "
		       << std::showbase	<< std::put_money(12345678.9)<<	'\n';

	    // using the facet directly
	    std::cout.imbue(std::locale("de_DE.UTF-8"));
	    std::cout << "german locale: " ;
	    auto&  f   =   std::use_facet<std::money_put<char>>(std::cout.get-
       loc());
	    f.put({std::cout},	false, std::cout, std::cout.fill(), 12345678.9
       );
	    std::cout << '\n';
	}

Output:
	american locale: $123,456.79
	german locale: 123.456,79

See also
		     defines   monetary	  formatting   parameters   used    by
       std::money_get and
	  moneypunct std::money_put
		     (class template)
	  money_get   parses  and  constructs  a  monetary value from an input
       character sequence
		     (class template)
	  put_money  formats and outputs a monetary value
	  (C++11)    (function template)

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

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

home | help