#include <locale_facets.h>
Inheritance diagram for std::moneypunct< _CharT, _Intl >:
Public Types | |
typedef __moneypunct_cache< _CharT, _Intl > | __cache_type |
typedef _CharT | char_type |
Public typedefs. | |
typedef basic_string< _CharT > | string_type |
Public Member Functions | |
moneypunct (size_t __refs=0) | |
Constructor performs initialization. | |
moneypunct (__cache_type *__cache, size_t __refs=0) | |
Constructor performs initialization. | |
moneypunct (__c_locale __cloc, const char *__s, size_t __refs=0) | |
Internal constructor. Not for general use. | |
char_type | decimal_point () const |
Return decimal point character. | |
char_type | thousands_sep () const |
Return thousands separator character. | |
string | grouping () const |
Return grouping specification. | |
string_type | curr_symbol () const |
Return currency symbol string. | |
string_type | positive_sign () const |
Return positive sign string. | |
string_type | negative_sign () const |
Return negative sign string. | |
int | frac_digits () const |
Return number of digits in fraction. | |
template<> | |
~moneypunct () | |
template<> | |
~moneypunct () | |
template<> | |
void | _M_initialize_moneypunct (__c_locale, const char *) |
template<> | |
void | _M_initialize_moneypunct (__c_locale, const char *) |
pattern | pos_format () const |
Return pattern for money values. | |
pattern | neg_format () const |
Static Public Attributes | |
static const bool | intl = _Intl |
static locale::id | id |
Numpunct facet id. | |
Protected Member Functions | |
virtual | ~moneypunct () |
Destructor. | |
virtual char_type | do_decimal_point () const |
Return decimal point character. | |
virtual char_type | do_thousands_sep () const |
Return thousands separator character. | |
virtual string | do_grouping () const |
Return grouping specification. | |
virtual string_type | do_curr_symbol () const |
Return currency symbol string. | |
virtual string_type | do_positive_sign () const |
Return positive sign string. | |
virtual string_type | do_negative_sign () const |
Return negative sign string. | |
virtual int | do_frac_digits () const |
Return number of digits in fraction. | |
virtual pattern | do_pos_format () const |
Return pattern for money values. | |
virtual pattern | do_neg_format () const |
Return pattern for money values. | |
void | _M_initialize_moneypunct (__c_locale __cloc=NULL, const char *__name=NULL) |
Private Attributes | |
__cache_type * | _M_data |
This facet encapsulates the punctuation, grouping and other formatting features of money amount string representations.
Definition at line 3568 of file locale_facets.h.
typedef __moneypunct_cache<_CharT, _Intl> std::moneypunct< _CharT, _Intl >::__cache_type |
Definition at line 3577 of file locale_facets.h.
typedef _CharT std::moneypunct< _CharT, _Intl >::char_type |
Public typedefs.
Reimplemented in std::moneypunct_byname< _CharT, _Intl >.
Definition at line 3574 of file locale_facets.h.
typedef basic_string<_CharT> std::moneypunct< _CharT, _Intl >::string_type |
Reimplemented in std::moneypunct_byname< _CharT, _Intl >.
Definition at line 3575 of file locale_facets.h.
std::moneypunct< _CharT, _Intl >::moneypunct | ( | size_t | __refs = 0 |
) | [inline, explicit] |
Constructor performs initialization.
This is the constructor provided by the standard.
refs | Passed to the base facet class. |
Definition at line 3597 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_initialize_moneypunct().
std::moneypunct< _CharT, _Intl >::moneypunct | ( | __cache_type * | __cache, | |
size_t | __refs = 0 | |||
) | [inline, explicit] |
Constructor performs initialization.
This is an internal constructor.
cache | Cache for optimization. | |
refs | Passed to the base facet class. |
Definition at line 3609 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_initialize_moneypunct().
std::moneypunct< _CharT, _Intl >::moneypunct | ( | __c_locale | __cloc, | |
const char * | __s, | |||
size_t | __refs = 0 | |||
) | [inline, explicit] |
Internal constructor. Not for general use.
This is a constructor for use by the library itself to set up new locales.
cloc | The "C" locale. | |
s | The name of a locale. | |
refs | Passed to the base facet class. |
Definition at line 3624 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_initialize_moneypunct().
virtual std::moneypunct< _CharT, _Intl >::~moneypunct | ( | ) | [protected, virtual] |
Destructor.
std::moneypunct< char, true >::~moneypunct | ( | ) |
std::moneypunct< char, false >::~moneypunct | ( | ) |
void std::moneypunct< char, false >::_M_initialize_moneypunct | ( | __c_locale | , | |
const char * | ||||
) |
void std::moneypunct< char, true >::_M_initialize_moneypunct | ( | __c_locale | , | |
const char * | ||||
) |
void std::moneypunct< _CharT, _Intl >::_M_initialize_moneypunct | ( | __c_locale | __cloc = NULL , |
|
const char * | __name = NULL | |||
) | [protected] |
string_type std::moneypunct< _CharT, _Intl >::curr_symbol | ( | ) | const [inline] |
Return currency symbol string.
This function returns a string_type to use as a currency symbol. It does so by returning returning moneypunct<char_type>::do_curr_symbol().
Definition at line 3693 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::do_curr_symbol().
Referenced by std::__moneypunct_cache< _CharT, _Intl >::_M_cache().
char_type std::moneypunct< _CharT, _Intl >::decimal_point | ( | ) | const [inline] |
Return decimal point character.
This function returns a char_type to use as a decimal point. It does so by returning returning moneypunct<char_type>::do_decimal_point().
Definition at line 3638 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::do_decimal_point().
Referenced by std::__moneypunct_cache< _CharT, _Intl >::_M_cache().
virtual string_type std::moneypunct< _CharT, _Intl >::do_curr_symbol | ( | ) | const [inline, protected, virtual] |
Return currency symbol string.
This function returns a string_type to use as a currency symbol. This function is a hook for derived classes to change the value returned.
Definition at line 3838 of file locale_facets.h.
References std::__moneypunct_cache< _CharT, _Intl >::_M_curr_symbol, and std::moneypunct< _CharT, _Intl >::_M_data.
Referenced by std::moneypunct< _CharT, _Intl >::curr_symbol().
virtual char_type std::moneypunct< _CharT, _Intl >::do_decimal_point | ( | ) | const [inline, protected, virtual] |
Return decimal point character.
Returns a char_type to use as a decimal point. This function is a hook for derived classes to change the value returned.
Definition at line 3800 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_data, and std::__moneypunct_cache< _CharT, _Intl >::_M_decimal_point.
Referenced by std::moneypunct< _CharT, _Intl >::decimal_point().
virtual int std::moneypunct< _CharT, _Intl >::do_frac_digits | ( | ) | const [inline, protected, virtual] |
Return number of digits in fraction.
This function returns the exact number of digits that make up the fractional part of a money amount. This function is a hook for derived classes to change the value returned.
Definition at line 3878 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_data, and std::__moneypunct_cache< _CharT, _Intl >::_M_frac_digits.
Referenced by std::moneypunct< _CharT, _Intl >::frac_digits().
virtual string std::moneypunct< _CharT, _Intl >::do_grouping | ( | ) | const [inline, protected, virtual] |
Return grouping specification.
Returns a string representing groupings for the integer part of a number. This function is a hook for derived classes to change the value returned.
Definition at line 3825 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_data, and std::__moneypunct_cache< _CharT, _Intl >::_M_grouping.
Referenced by std::moneypunct< _CharT, _Intl >::grouping().
virtual pattern std::moneypunct< _CharT, _Intl >::do_neg_format | ( | ) | const [inline, protected, virtual] |
Return pattern for money values.
This function returns a pattern describing the formatting of a negative valued money amount. This function is a hook for derived classes to change the value returned.
Definition at line 3906 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_data, and std::__moneypunct_cache< _CharT, _Intl >::_M_neg_format.
Referenced by std::moneypunct< _CharT, _Intl >::neg_format().
virtual string_type std::moneypunct< _CharT, _Intl >::do_negative_sign | ( | ) | const [inline, protected, virtual] |
Return negative sign string.
This function returns a string_type to use as a sign for negative amounts. This function is a hook for derived classes to change the value returned.
Definition at line 3864 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_data, and std::__moneypunct_cache< _CharT, _Intl >::_M_negative_sign.
Referenced by std::moneypunct< _CharT, _Intl >::negative_sign().
virtual pattern std::moneypunct< _CharT, _Intl >::do_pos_format | ( | ) | const [inline, protected, virtual] |
Return pattern for money values.
This function returns a pattern describing the formatting of a positive valued money amount. This function is a hook for derived classes to change the value returned.
Definition at line 3892 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_data, and std::__moneypunct_cache< _CharT, _Intl >::_M_pos_format.
Referenced by std::moneypunct< _CharT, _Intl >::pos_format().
virtual string_type std::moneypunct< _CharT, _Intl >::do_positive_sign | ( | ) | const [inline, protected, virtual] |
Return positive sign string.
This function returns a string_type to use as a sign for positive amounts. This function is a hook for derived classes to change the value returned.
Definition at line 3851 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_data, and std::__moneypunct_cache< _CharT, _Intl >::_M_positive_sign.
Referenced by std::moneypunct< _CharT, _Intl >::positive_sign().
virtual char_type std::moneypunct< _CharT, _Intl >::do_thousands_sep | ( | ) | const [inline, protected, virtual] |
Return thousands separator character.
Returns a char_type to use as a thousands separator. This function is a hook for derived classes to change the value returned.
Definition at line 3812 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::_M_data, and std::__moneypunct_cache< _CharT, _Intl >::_M_thousands_sep.
Referenced by std::moneypunct< _CharT, _Intl >::thousands_sep().
int std::moneypunct< _CharT, _Intl >::frac_digits | ( | ) | const [inline] |
Return number of digits in fraction.
This function returns the exact number of digits that make up the fractional part of a money amount. It does so by returning returning moneypunct<char_type>::do_frac_digits().
The fractional part of a money amount is optional. But if it is present, there must be frac_digits() digits.
Definition at line 3743 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::do_frac_digits().
Referenced by std::__moneypunct_cache< _CharT, _Intl >::_M_cache().
string std::moneypunct< _CharT, _Intl >::grouping | ( | ) | const [inline] |
Return grouping specification.
This function returns a string representing groupings for the integer part of an amount. Groupings indicate where thousands separators should be inserted.
Each char in the return string is interpret as an integer rather than a character. These numbers represent the number of digits in a group. The first char in the string represents the number of digits in the least significant group. If a char is negative, it indicates an unlimited number of digits for the group. If more chars from the string are required to group a number, the last char is used repeatedly.
For example, if the grouping() returns "\003\002" and is applied to the number 123456789, this corresponds to 12,34,56,789. Note that if the string was "32", this would put more than 50 digits into the least significant group if the character set is ASCII.
The string is returned by calling moneypunct<char_type>::do_grouping().
Definition at line 3680 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::do_grouping().
Referenced by std::__moneypunct_cache< _CharT, _Intl >::_M_cache().
pattern std::moneypunct< _CharT, _Intl >::neg_format | ( | ) | const [inline] |
Definition at line 3782 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::do_neg_format().
Referenced by std::__moneypunct_cache< _CharT, _Intl >::_M_cache().
string_type std::moneypunct< _CharT, _Intl >::negative_sign | ( | ) | const [inline] |
Return negative sign string.
This function returns a string_type to use as a sign for negative amounts. It does so by returning returning moneypunct<char_type>::do_negative_sign().
If the return value contains more than one character, the first character appears in the position indicated by neg_format() and the remainder appear at the end of the formatted string.
Definition at line 3727 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::do_negative_sign().
Referenced by std::__moneypunct_cache< _CharT, _Intl >::_M_cache().
pattern std::moneypunct< _CharT, _Intl >::pos_format | ( | ) | const [inline] |
Return pattern for money values.
This function returns a pattern describing the formatting of a positive or negative valued money amount. It does so by returning returning moneypunct<char_type>::do_pos_format() or moneypunct<char_type>::do_neg_format().
The pattern has 4 fields describing the ordering of symbol, sign, value, and none or space. There must be one of each in the pattern. The none and space enums may not appear in the first field and space may not appear in the final field.
The parts of a money string must appear in the order indicated by the fields of the pattern. The symbol field indicates that the value of curr_symbol() may be present. The sign field indicates that the value of positive_sign() or negative_sign() must be present. The value field indicates that the absolute value of the money amount is present. none indicates 0 or more whitespace characters, except at the end, where it permits no whitespace. space indicates that 1 or more whitespace characters must be present.
For example, for the US locale and pos_format() pattern {symbol,sign,value,none}, curr_symbol() == '$' positive_sign() == '+', and value 10.01, and options set to force the symbol, the corresponding string is "$+10.01".
Definition at line 3778 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::do_pos_format().
Referenced by std::__moneypunct_cache< _CharT, _Intl >::_M_cache().
string_type std::moneypunct< _CharT, _Intl >::positive_sign | ( | ) | const [inline] |
Return positive sign string.
This function returns a string_type to use as a sign for positive amounts. It does so by returning returning moneypunct<char_type>::do_positive_sign().
If the return value contains more than one character, the first character appears in the position indicated by pos_format() and the remainder appear at the end of the formatted string.
Definition at line 3710 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::do_positive_sign().
Referenced by std::__moneypunct_cache< _CharT, _Intl >::_M_cache().
char_type std::moneypunct< _CharT, _Intl >::thousands_sep | ( | ) | const [inline] |
Return thousands separator character.
This function returns a char_type to use as a thousands separator. It does so by returning returning moneypunct<char_type>::do_thousands_sep().
Definition at line 3651 of file locale_facets.h.
References std::moneypunct< _CharT, _Intl >::do_thousands_sep().
Referenced by std::__moneypunct_cache< _CharT, _Intl >::_M_cache().
__cache_type* std::moneypunct< _CharT, _Intl >::_M_data [private] |
Definition at line 3580 of file locale_facets.h.
Referenced by std::moneypunct< _CharT, _Intl >::do_curr_symbol(), std::moneypunct< _CharT, _Intl >::do_decimal_point(), std::moneypunct< _CharT, _Intl >::do_frac_digits(), std::moneypunct< _CharT, _Intl >::do_grouping(), std::moneypunct< _CharT, _Intl >::do_neg_format(), std::moneypunct< _CharT, _Intl >::do_negative_sign(), std::moneypunct< _CharT, _Intl >::do_pos_format(), std::moneypunct< _CharT, _Intl >::do_positive_sign(), and std::moneypunct< _CharT, _Intl >::do_thousands_sep().
locale::id std::moneypunct< _CharT, _Intl >::id [static] |
const bool std::moneypunct< _CharT, _Intl >::intl = _Intl [static] |
This value is provided by the standard, but no reason for its existence.
Reimplemented in std::moneypunct_byname< _CharT, _Intl >.
Definition at line 3585 of file locale_facets.h.