28 Localization library [localization]

28.4 Standard locale categories [locale.categories]

28.4.6 The monetary category [category.monetary]

28.4.6.3 Class template moneypunct [locale.moneypunct]

28.4.6.3.2 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.277
charT do_thousands_sep() const;
Returns: The digit group separator to use in case do_­grouping() specifies a digit grouping pattern.278
string do_grouping() const;
Returns: A pattern defined identically as, but not necessarily equal to, the result of numpunct<charT>​::​​do_­grouping().279
string_type do_curr_symbol() const;
Returns: A string to use as the currency identifier symbol.
[Note
:
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;280 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.281
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 }.282
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 ".
⮥