Namespaces
Variants

std:: messages_byname

From cppreference.net
Défini dans l'en-tête <locale>
template < class CharT >
class messages_byname : public std:: messages < CharT > ;

std::messages_byname est une facette std::messages qui encapsule la récupération de chaînes de caractères à partir de catalogues de messages 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 :: messages_byname < char > accès au catalogue de messages étroit/multioctet
std :: messages_byname < wchar_t > accès au catalogue de messages de chaînes larges

Types imbriqués

Type Définition
catalog std:: messages_base < CharT > :: catalog
string_type std:: basic_string < CharT >

Fonctions membres

(constructor)
construit une nouvelle facette messages_byname
(fonction membre publique)
(destructor)
détruit une facette messages_byname
(fonction membre protégée)

std::messages_byname:: messages_byname

explicit messages_byname ( const char * name, std:: size_t refs = 0 ) ;
explicit messages_byname ( const std:: string & name, std:: size_t refs = 0 ) ;
(depuis C++11)

Construit une nouvelle facette std::messages_byname pour une locale avec name .

refs est utilisé pour la gestion des ressources : si refs == 0 , l'implémentation détruit la facette lorsque le dernier objet std::locale la 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 à la facette

std::messages_byname:: ~messages_byname

protected :
~messages_byname ( ) ;

Détruit le facet.

Hérité de std:: messages

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 de la facette

Fonctions membres

appelle do_open
(fonction membre publique de std::messages<CharT> )
appelle do_get
(fonction membre publique de std::messages<CharT> )
appelle do_close
(fonction membre publique de std::messages<CharT> )

Fonctions membres protégées

[virtual]
ouvre un catalogue de messages nommé
(fonction membre protégée virtuelle de std::messages<CharT> )
[virtual]
récupère un message d'un catalogue de messages ouvert
(fonction membre protégée virtuelle de std::messages<CharT> )
[virtual]
ferme un catalogue de messages
(fonction membre protégée virtuelle de std::messages<CharT> )

Hérité de std:: messages_base

Types imbriqués

Type Définition
catalog un type entier signé non spécifié

Exemple

#include <iostream>
#include <locale>
void try_with(const std::locale& loc)
{
    const std::messages<char>& facet = std::use_facet<std::messages<char>>(loc);
    std::messages<char>::catalog cat = facet.open("sed", std::cout.getloc());
    if (cat < 0)
        std::cout << "Could not open \"sed\" message catalog\n";
    else
        std::cout << "\"No match\" "
                  << facet.get(cat, 0, 0, "No match") << '\n'
                  << "\"Memory exhausted\" " 
                  << facet.get(cat, 0, 0, "Memory exhausted") << '\n';
    facet.close(cat);
}
int main()
{
    std::locale loc("en_US.utf8");
    std::cout.imbue(loc);
    try_with(std::locale(loc, new std::messages_byname<char>("de_DE.utf8")));
    try_with(std::locale(loc, new std::messages_byname<char>("fr_FR.utf8")));
    try_with(std::locale(loc, new std::messages_byname<char>("ja_JP.utf8")));
}

Sortie possible :

"No match" Keine Übereinstimmung
"Memory exhausted" Speicher erschöpft
"No match" Pas de concordance
"Memory exhausted" Mémoire épuisée
"No match" 照合しません
"Memory exhausted" メモリーが足りません

Voir aussi

implémente la récupération de chaînes depuis des catalogues de messages
(modèle de classe)