std:: ctype_byname
| 
           
           Défini dans l'en-tête
            
         
            
             <locale>
            
           
           | 
         ||
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            CharT
            
             >
            
             
         class ctype_byname : public std:: ctype < CharT > ;  | 
         ||
       
        std::ctype_byname
       
       est une facette
       
        
         std::ctype
        
       
       qui encapsule les règles de classification des caractères de la locale spécifiée lors de sa construction.
      
         Table des matières | 
       
Spécialisations
La bibliothèque standard garantit la fourniture des spécialisations suivantes :
| 
          
          Défini dans l'en-tête
           
        
           
            <locale>
           
          
          | 
       |
| std :: ctype_byname < char > | fournit la classification des caractères étroits (utilise une table de consultation pour la classification des caractères) | 
| std :: ctype_byname < wchar_t > | fournit la classification des caractères larges | 
Types imbriqués
| Type | Définition | 
         
          mask
         
         | 
        typename std:: ctype < CharT > :: mask | 
Fonctions membres
| 
          
           
            
             
              (constructeur)
             
            
           
           
          | 
        
         construit une nouvelle facette
         
          ctype_byname
         
         (fonction membre publique)  | 
       
| 
          
           
            
             
              (destructeur)
             
            
           
           
          | 
        
         détruit une facette
         
          ctype_byname
         
         (fonction membre protégée)  | 
       
std::ctype_byname:: ctype_byname
| 
            
            
             
              explicit
             
             ctype_byname
             
              (
             
             
              const
             
             
              char
             
             
              *
             
             name,
             
              
               std::
               
                size_t
               
              
             
             refs
             
              =
             
             
              0
             
             
              )
             
             
              ;
             
            
            
           | 
          ||
| 
            
            
             
              explicit
             
             ctype_byname
             
              (
             
             
              const
             
             
              
               std::
               
                string
               
              
             
             
              &
             
             name,
             
              
               std::
               
                size_t
               
              
             
             refs
             
              =
             
             
              0
             
             
              )
             
             
              ;
             
            
            
           | 
          (depuis C++11) | |
        Construit un nouveau facet
        
         std::ctype_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::ctype_byname:: ~ctype_byname
| 
            
            
             
              protected
             
             
              :
             
              
          ~ctype_byname ( ) ;  | 
          ||
Détruit le facet.
        
         Hérité de
         
          
           std::
          
          ctype
         
         <CharT>
         
          (seulement si
          
           CharT
          
          n'est pas
          
           
            char
           
          
          )
         
        
       
       Types imbriqués
| Type | Définition | 
          
           char_type
          
          | 
         
          
           CharT
          
          | 
        
Membres de données
| Membre | Description | 
          
           
            
             std::locale::id
            
           
          
          
           id
          
          
           [static]
          
          | 
         l'identifiant de la facette | 
Fonctions membres
          invoque
          
           do_is
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        |
          invoque
          
           do_scan_is
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        |
          invoque
          
           do_scan_not
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        |
          invoque
          
           do_toupper
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        |
          invoque
          
           do_tolower
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        |
          invoque
          
           do_widen
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        |
          invoque
          
           do_narrow
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        
Fonctions membres protégées
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          convertit un ou plusieurs caractères en majuscules
           (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          convertit un ou plusieurs caractères en minuscules
           (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          convertit un ou plusieurs caractères de
          
           
            char
           
          
          vers
          
           CharT
          
          (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          convertit un ou plusieurs caractères de
          
           CharT
          
          vers
          
           
            char
           
          
          (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          classe un caractère ou une séquence de caractères
           (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          localise le premier caractère d'une séquence qui correspond à une classification donnée
           (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          localise le premier caractère d'une séquence qui ne correspond pas à une classification donnée
           (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
        
         Hérité de
         
          
           std::
          
          ctype<char>
         
         
          (uniquement si
          
           CharT
          
          est
          
           
            char
           
          
          )
         
        
       
       Types imbriqués
| Type | Définition | 
          
           char_type
          
          | 
         char | 
Membres de données
| Membre | Description | 
          
           
            
             std::locale::id
            
           
          
          
           id
          
          
           [static]
          
          | 
         l'identifiant de la facette | 
          
           
            
             const
            
            
             
              std::
              
               size_t
              
             
            
           
          
          
           table_size
          
          
           [static]
          
          | 
         taille de la table de classification, au moins 256 | 
Fonctions membres
| 
          obtient la table de classification des caractères
           (fonction membre publique de 
            std::ctype
            
             <char>
            
           
           )
          
          | 
        |
| 
           
            
             
              
               [static]
              
             
            
            
           | 
         
          obtient la table de classification des caractères du locale "C"
           (fonction membre publique statique de 
            std::ctype
            
             <char>
            
           
           )
          
          | 
        
| 
          classe un caractère ou une séquence de caractères, en utilisant la table de classification
           (fonction membre publique de 
            std::ctype
            
             <char>
            
           
           )
          
          | 
        |
| 
          localise le premier caractère d'une séquence qui correspond à une classification donnée, en utilisant la table de classification
           (fonction membre publique de 
            std::ctype
            
             <char>
            
           
           )
          
          | 
        |
| 
          localise le premier caractère d'une séquence qui ne correspond pas à une classification donnée, en utilisant la table de classification
           (fonction membre publique de 
            std::ctype
            
             <char>
            
           
           )
          
          | 
        |
          invoque
          
           do_toupper
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        |
          invoque
          
           do_tolower
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        |
          invoque
          
           do_widen
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        |
          invoque
          
           do_narrow
          
          (fonction membre publique de 
            std::ctype<CharT>
           
           )
          
          | 
        
Fonctions membres protégées
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          convertit un ou plusieurs caractères en majuscules
           (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          convertit un ou plusieurs caractères en minuscules
           (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          convertit un ou plusieurs caractères de
          
           
            char
           
          
          vers
          
           CharT
          
          (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
| 
           
            
             
              
               [virtual]
              
             
            
            
           | 
         
          convertit un ou plusieurs caractères de
          
           CharT
          
          vers
          
           
            char
           
          
          (fonction membre protégée virtuelle de 
            std::ctype<CharT>
           
           )
          
          | 
        
Hérité de std:: ctype_base
Types imbriqués
| Type | Définition | 
          
           mask
          
          | 
         type non spécifié BitmaskType (énumération, type entier ou bitset) | 
Constantes membres
| 
           
            
             
              space
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères d'espacement
          (constante membre publique statique)  | 
        
| 
           
            
             
              print
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères imprimables
          (constante membre publique statique)  | 
        
| 
           
            
             
              cntrl
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères de contrôle
          (constante membre publique statique)  | 
        
| 
           
            
             
              upper
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères majuscules
          (constante membre publique statique)  | 
        
| 
           
            
             
              lower
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères minuscules
          (constante membre publique statique)  | 
        
| 
           
            
             
              alpha
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères alphabétiques
          (constante membre publique statique)  | 
        
| 
           
            
             
              digit
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères chiffres
          (constante membre publique statique)  | 
        
| 
           
            
             
              punct
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères de ponctuation
          (constante membre publique statique)  | 
        
| 
           
            
             
              xdigit
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères chiffres hexadécimaux
          (constante membre publique statique)  | 
        
| 
           
            
             
              blank
             
            
            
           
            
             
              
               [static]
              
              
               (C++11)
              
             
            
            
           | 
         
          la valeur de
          
           mask
          
          identifiant la classification des caractères blancs
          (constante membre publique statique)  | 
        
| 
           
            
             
              alnum
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          
           
            alpha
            
             |
            
            digit
           
          
           (constante membre publique statique)  | 
        
| 
           
            
             
              graph
             
            
            
           
            
             
              
               [static]
              
             
            
            
           | 
         
          
           
            alnum
            
             |
            
            punct
           
          
           (constante membre publique statique)  | 
        
Notes
std :: ctype_byname < char > était incorrectement déclaré comme une spécialisation explicite dans la synopsis de <locale> , et cette déclaration a été supprimée par la résolution de LWG issue 1298 , mais elle reste une spécialisation requise, tout comme std :: ctype_byname < wchar_t > .
Exemple
#include <iostream> #include <locale> int main() { wchar_t c = L'\u00de'; // lettre majuscule thorn std::locale loc("C"); std::cout << "isupper('Þ', locale C) a retourné " << std::boolalpha << std::isupper(c, loc) << '\n'; loc = std::locale(loc, new std::ctype_byname<wchar_t>("en_US.utf8")); std::cout << "isupper('Þ', locale C avec ctype Unicode) a retourné " << std::boolalpha << std::isupper(c, loc) << '\n'; }
Sortie :
isupper('Þ', locale C) a retourné false
isupper('Þ', locale C avec ctype Unicode) a retourné true
        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 16 | C++98 | 
         la définition de la spécialisation explicite
         
          std
          
           ::
          
          
           ctype_byname
          
          
           <
          
          
           char
          
          
           >
          
         
          spécifiait incorrectement le nom et la liste de paramètres de 
          do_narrow
         
         | 
        corrigé | 
| LWG 616 | C++98 | 
         le désambiguïsateur
         
          
           typename
          
         
         était manquant dans la définition de
         
          mask
         
         | 
        ajouté | 
Voir aussi
| 
         définit les tables de classification des caractères
          (modèle de classe)  | 
       |
| 
         spécialisation de
         
          
           std::ctype
          
         
         pour le type
         
          
           char
          
         
          (spécialisation de modèle de classe)  |