std:: money_put
| 
           
           Défini dans l'en-tête
            
         
            
             <locale>
            
           
           | 
         ||
| 
           
           
            
             template
            
            
             <
            
             
         
             
              class
             
             CharT,
               | 
         ||
       La classe
       
        std::money_put
       
       encapsule les règles de formatage des valeurs monétaires en chaînes de caractères. Le manipulateur d'E/S standard
       
        
         std::put_money
        
       
       utilise le facette
       
        std::money_put
       
       de la locale du flux d'E/S.
      
Diagramme d'héritage
       Si une spécialisation de
       
        std::money_put
       
       n'est pas garantie d'être fournie par la bibliothèque standard (voir ci-dessous), les comportements de ses fonctions
       
        
         put()
        
       
       et
       
        
         do_put()
        
       
       ne sont pas garantis comme spécifié.
      
         Table des matières | 
       
Spécialisations
La bibliothèque standard garantit la fourniture des spécialisations suivantes (elles sont requises pour être implémentées par tout objet locale ):
| 
          
          Défini dans l'en-tête
           
        
           
            <locale>
           
          
          | 
       |
| std :: money_put < char > | crée des représentations de chaînes étroites des valeurs monétaires | 
| std :: money_put < wchar_t > | crée des représentations de chaînes larges des valeurs monétaires | 
En outre, la bibliothèque standard garantit également de fournir chaque spécialisation qui satisfait aux exigences de type suivantes :
- 
        
CharTest l'un des- char ,
 - wchar_t , et
 - tout autre type de conteneur de caractères défini par l'implémentation qui satisfait aux exigences pour un caractère sur lequel l'un des composants iostream peut être instancié ; et
 
 - 
        
OutputItdoit satisfaire aux exigences de LegacyOutputIterator . 
Types imbriqués
| Type | Définition | 
         
          char_type
         
         | 
        
         
          CharT
         
         | 
       
         
          string_type
         
         | 
        std:: basic_string < CharT > | 
         
          iter_type
         
         | 
        
         
          OutputIt
         
         | 
       
Membres de données
| Membre | Description | 
         
          
           
            std::locale::id
           
          
         
         
          id
         
         
          [static]
         
         | 
        l'identifiant de la facette | 
Fonctions membres
         construit un nouveau facet
         
          money_put
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_put
         
         (fonction membre publique)  | 
       
Fonctions membres protégées
         détruit un facet
         
          money_put
         
         (fonction membre protégée)  | 
       |
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         formate une valeur monétaire et écrit dans le flux de sortie
          (fonction membre virtuelle protégée)  | 
       
Exemple
#include <iomanip> #include <iostream> #include <iterator> #include <locale> int main() { // utilisation du manipulateur d'E/S std::cout.imbue(std::locale("en_US.UTF-8")); std::cout << "Locale américaine : " << std::showbase << std::put_money(12345678.9) << '\n'; // utilisation directe du facet std::cout.imbue(std::locale("de_DE.UTF-8")); std::cout << "Locale allemande : "; auto& f = std::use_facet<std::money_put<char>>(std::cout.getloc()); f.put({std::cout}, false, std::cout, std::cout.fill(), 12345678.9); std::cout << '\n'; }
Sortie :
American locale: $123,456.79 German locale: 123.456,79 €
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé | 
|---|---|---|---|
| LWG 427 | C++98 | 
         
          money_put
         
         était garanti d'accepter tout
         
          CharT
         
         qui
         répond aux exigences pour un caractère sur lequel n'importe quel composant des iostreams peut être instancié  | 
        
         garantit uniquement d'accepter
         
          
           char
          
         
         ,
          wchar_t et autres types de caractères définis par l'implémentation  | 
       
| LWG 2392 | C++98 | 
         seul le type de caractère
         
          CharT
         
         pouvait être
         garanti d'être accepté par 
          money_put
         
         | 
        
         peut garantir d'accepter les types de conteneurs
          de caractères définis par l'implémentation  | 
       
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)  | 
       |
| 
         analyse et construit une valeur monétaire à partir d'une séquence de caractères d'entrée
          (modèle de classe)  | 
       |
| 
          
           
            
             
              (C++11)
             
            
           
           
          | 
        
         formate et sort une valeur monétaire
          (modèle de fonction)  |