Namespaces
Variants

std:: messages_byname

From cppreference.net
Definiert in Header <locale>
template < class CharT >
class messages_byname : public std:: messages < CharT > ;

std::messages_byname ist ein std::messages Facet, das das Abrufen von Zeichenketten aus Nachrichtenkatalogen der bei seiner Konstruktion angegebenen Locale kapselt.

Inhaltsverzeichnis

Spezialisierungen

Die Standardbibliothek garantiert die Bereitstellung der folgenden Spezialisierungen:

Definiert im Header <locale>
std :: messages_byname < char > Zugriff auf Nachrichtenkatalog für Narrow/Multibyte-Zeichen
std :: messages_byname < wchar_t > Zugriff auf Nachrichtenkatalog für Wide-Strings

Verschachtelte Typen

Typ Definition
catalog std:: messages_base < CharT > :: catalog
string_type std:: basic_string < CharT >

Memberfunktionen

(constructor)
konstruiert einen neuen messages_byname Facette
(öffentliche Elementfunktion)
(destructor)
zerstört eine messages_byname Facette
(geschützte Elementfunktion)

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 ) ;
(seit C++11)

Konstruiert einen neuen std::messages_byname Facet für ein Locale mit name .

refs wird für die Ressourcenverwaltung verwendet: wenn refs == 0 , zerstört die Implementierung den Facet, wenn das letzte std::locale Objekt, das ihn enthält, zerstört wird. Andernfalls wird das Objekt nicht zerstört.

Parameter

name - der Name des Locale
refs - die Anzahl der Referenzen, die mit dem Facet verknüpft sind

std::messages_byname:: ~messages_byname

protected :
~messages_byname ( ) ;

Zerstört das Facet.

Geerbt von std:: messages

Geschachtelte Typen

Typ Definition
char_type CharT
string_type std:: basic_string < CharT >

Datenelemente

Element Beschreibung
std::locale::id id [static] der Bezeichner des Facette

Elementfunktionen

ruft do_open auf
(öffentliche Elementfunktion von std::messages<CharT> )
ruft do_get auf
(öffentliche Elementfunktion von std::messages<CharT> )
ruft do_close auf
(öffentliche Elementfunktion von std::messages<CharT> )

Geschützte Elementfunktionen

[virtual]
öffnet einen benannten Nachrichtenkatalog
(virtuelle geschützte Elementfunktion von std::messages<CharT> )
[virtual]
ruft eine Nachricht aus einem geöffneten Nachrichtenkatalog ab
(virtuelle geschützte Elementfunktion von std::messages<CharT> )
[virtual]
schließt einen Nachrichtenkatalog
(virtuelle geschützte Elementfunktion von std::messages<CharT> )

Geerbt von std:: messages_base

Geschachtelte Typen

Typ Definition
catalog ein unspezifizierter Ganzzahltyp mit Vorzeichen

Beispiel

#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")));
}

Mögliche Ausgabe:

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

Siehe auch

implementiert das Abrufen von Zeichenketten aus Nachrichtenkatalogen
(Klassentemplate)