Namespaces
Variants

std:: moneypunct_byname

From cppreference.net
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 :

  • CharT est l'un des char et wchar_t , et
  • Intl est 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

fournit le caractère à utiliser comme séparateur décimal
(fonction membre protégée virtuelle de std::moneypunct<CharT,International> )
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> )
fournit la chaîne à utiliser comme identifiant de devise
(fonction membre protégée virtuelle de std::moneypunct<CharT,International> )
fournit la chaîne pour indiquer une valeur positive ou négative
(fonction membre protégée virtuelle de std::moneypunct<CharT,International> )
fournit le nombre de chiffres à afficher après la virgule décimale
(fonction membre protégée virtuelle de std::moneypunct<CharT,International> )
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)