28 Localization library [localization]

28.4 Standard locale categories [locale.categories]

28.4.7 The monetary category [category.monetary]

28.4.7.4 Class template moneypunct [locale.moneypunct]

28.4.7.4.3 Virtual functions [locale.moneypunct.virtuals]

charT do_decimal_point() const;
Returns: The radix separator to use in case do_­frac_­digits() is greater than zero.281
charT do_thousands_sep() const;
Returns: The digit group separator to use in case do_­grouping() specifies a digit grouping pattern.282
string do_grouping() const;
Returns: A pattern defined identically as, but not necessarily equal to, the result of numpunct<charT>​::​​do_­grouping().283
string_type do_curr_symbol() const;
Returns: A string to use as the currency identifier symbol.
[Note 1:
For specializations where the second template parameter is true, this is typically four characters long: a three-letter code as specified by ISO 4217 followed by a space.
— end note]
string_type do_positive_sign() const; string_type do_negative_sign() const;
Returns: do_­positive_­sign() returns the string to use to indicate a positive monetary value;284 do_­negative_­sign() returns the string to use to indicate a negative value.
int do_frac_digits() const;
Returns: The number of digits after the decimal radix separator, if any.285
pattern do_pos_format() const; pattern do_neg_format() const;
Returns: The specializations required in Table 103 ([locale.category]), namely
  • moneypunct<char>,
  • moneypunct<wchar_­t>,
  • moneypunct<char, true>, and
  • moneypunct<wchar_­t, true>,
return an object of type pattern initialized to { symbol, sign, none, value }.286
In common U.S. locales this is '.'.
 â®¥
In common U.S. locales this is ','.
 â®¥
To specify grouping by 3s, the value is "\003" not "3".
 â®¥
This is usually the empty string.
 â®¥
In common U.S. locales, this is 2.
 â®¥
Note that the international symbol returned by do_­curr_­symbol() usually contains a space, itself; for example, "USD ".
 â®¥