std:: moneypunct_byname
|
Défini dans l'en-tête
<locale>
|
||
|
template
<
class
CharT,
bool
Intl
=
false
>
class moneypunct_byname : public std:: moneypunct < CharT, Intl > ; |
||
std::moneypunct_byname
est une facette
std::moneypunct
qui encapsule les préférences de formatage monétaire d'une locale spécifiée lors de sa construction.
Table des matières |
Spécialisations
La bibliothèque standard garantit de fournir chaque spécialisation qui satisfait aux exigences de type suivantes :
-
CharTest l'un des char et wchar_t , et -
Intlest une spécialisation possible sur un paramètre bool .
Types imbriqués
| Type | Définition |
pattern
|
std::money_base::pattern |
string_type
|
std:: basic_string < CharT > |
Fonctions membres
|
(constructor)
|
construit un nouveau facet
moneypunct_byname
(fonction membre publique) |
|
(destructor)
|
détruit un facet
moneypunct_byname
(fonction membre protégée) |
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
=
0
)
;
|
(depuis C++11) | |
Construit un nouveau facet
std::moneypunct_byname
pour une locale avec
name
.
refs est utilisé pour la gestion des ressources : si refs == 0 , l'implémentation détruit le facet lorsque le dernier objet std::locale le contenant est détruit. Sinon, l'objet n'est pas détruit.
Paramètres
| name | - | le nom de la locale |
| refs | - | le nombre de références liées au facet |
std::moneypunct_byname:: ~moneypunct_byname
|
protected
:
~moneypunct_byname ( ) ; |
||
Détruit le facet.
Hérité de std:: moneypunct
Types imbriqués
| Type | Définition |
char_type
|
CharT
|
string_type
|
std:: basic_string < CharT > |
Membres de données
| Membre | Description |
std::locale::id
id
[static]
|
l'identifiant du facet |
const
bool
intl
[static]
|
International |
Fonctions membres
appelle
do_decimal_point
(fonction membre publique de
std::moneypunct<CharT,International>
)
|
|
appelle
do_thousands_sep
(fonction membre publique de
std::moneypunct<CharT,International>
)
|
|
appelle
do_grouping
(fonction membre publique de
std::moneypunct<CharT,International>
)
|
|
appelle
do_curr_symbol
(fonction membre publique de
std::moneypunct<CharT,International>
)
|
|
appelle
do_positive_sign
ou
do_negative_sign
(fonction membre publique de
std::moneypunct<CharT,International>
)
|
|
appelle
do_frac_digits
(fonction membre publique de
std::moneypunct<CharT,International>
)
|
|
appelle
do_pos_format
/
do_neg_format
(fonction membre publique de
std::moneypunct<CharT,International>
)
|
Fonctions membres protégées
|
[virtual]
|
fournit le caractère à utiliser comme séparateur décimal
(fonction membre protégée virtuelle de
std::moneypunct<CharT,International>
)
|
|
[virtual]
|
fournit le caractère à utiliser comme séparateur de milliers
(fonction membre protégée virtuelle de
std::moneypunct<CharT,International>
)
|
|
[virtual]
|
fournit le nombre de chiffres entre chaque paire de séparateurs de milliers
(fonction membre protégée virtuelle de
std::moneypunct<CharT,International>
)
|
|
[virtual]
|
fournit la chaîne à utiliser comme identifiant de devise
(fonction membre protégée virtuelle de
std::moneypunct<CharT,International>
)
|
|
[virtual]
|
fournit la chaîne pour indiquer une valeur positive ou négative
(fonction membre protégée virtuelle de
std::moneypunct<CharT,International>
)
|
|
[virtual]
|
fournit le nombre de chiffres à afficher après la virgule décimale
(fonction membre protégée virtuelle de
std::moneypunct<CharT,International>
)
|
|
[virtual]
|
fournit le motif de formatage pour les valeurs monétaires
(fonction membre protégée virtuelle de
std::moneypunct<CharT,International>
)
|
Hérité de std:: money_base
Types imbriqués
| Type | Définition |
| enum part { none, space, symbol, sign, value } ; | type d'énumération non-scopée |
| struct pattern { char field [ 4 ] ; } ; | le type de format monétaire |
| Constante d'énumération | Description |
none
|
les espaces sont autorisés mais non requis sauf en dernière position, où les espaces ne sont pas autorisés |
space
|
un ou plusieurs caractères d'espacement sont requis |
symbol
|
la séquence de caractères retournée par std::moneypunct::curr_symbol est requise |
sign
|
le premier des caractères retournés par std::moneypunct::positive_sign ou std::moneypunct::negative_sign est requis |
value
|
la valeur monétaire numérique absolue est requise |
Exemple
Cet exemple montre comment appliquer les règles de formatage monétaire d'une autre langue sans modifier le reste des paramètres régionaux.
#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_byname<wchar_t>("ru_RU.utf8"))); std::wcout << L"american locale with russian moneypunct: " << std::put_money(mon) << '\n'; }
Sortie :
american locale: $12,345.67 american locale with russian moneypunct: 12 345.67 руб
Voir aussi
|
définit les paramètres de formatage monétaire utilisés par
std::money_get
et
std::money_put
(modèle de classe) |