Namensräume
Varianten
Aktionen

std::messages_byname

Von cppreference.com
< cpp‎ | locale
 
 
 
 
Definiert in Header <locale>
template< class CharT >
class messages_byname : public std::messages<CharT>;

std::messages_byname ist eine std::messages Facette, welche die Abfrage von Zeichenketten aus Nachrichten-Katalogen der bei ihrer Konstruktion spezifizierten Locale kapselt.

Inhalt

[edit] Spezialisierungen

Die Standardbibliothek garantiert die Bereitstellung der folgenden Spezialisierungen

Definiert in Header <locale>
std::messages_byname<char> Zugriff auf schmale/Multibyte-Nachrichten-Kataloge
std::messages_byname<wchar_t> Zugriff auf Nachrichten-Kataloge für breite Zeichenketten

[edit] Verschachtelte Typen

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

[edit] Memberfunktionen

(Konstruktor)
konstruiert ein neues messages_byname Facette
(public member function) [bearbeiten]
(Destruktor)
zerstört ein messages_byname Facette
(protected member function) [bearbeiten]

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 ein neues std::messages_byname Facette für eine Locale mit dem Namen name.

refs wird für die Ressourcenverwaltung verwendet: Wenn refs = 0 ist, zerstört die Implementierung die Facettenklasse, wenn das letzte std::locale-Objekt, das sie hält, zerstört wird. Andernfalls wird das Objekt nicht zerstört.

Parameter

name - der Name der Locale
refs - die Anzahl der Referenzen, die auf die Facettenklasse verweisen

std::messages_byname::~messages_byname

protected:
~messages_byname();

Zerstört die Facettenklasse.

Geerbt von std::messages

Verschachtelte Typen

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

[edit] Datenmember

Mitglied Beschreibung
std::locale::id id [static] die Kennung des Facets

Memberfunktionen

ruft do_open auf
(public member function of std::messages<CharT>) [edit]
ruft do_get auf
(public member function of std::messages<CharT>) [edit]
ruft do_close auf
(public member function of std::messages<CharT>) [edit]

Geschützte Memberfunktionen

[virtuell]
öffnet einen benannten Nachrichten-Katalog
(virtual protected member function of std::messages<CharT>) [edit]
[virtuell]
ruft eine Nachricht aus einem geöffneten Nachrichten-Katalog ab
(virtual protected member function of std::messages<CharT>) [edit]
[virtuell]
schließt einen Nachrichten-Katalog
(virtual protected member function of std::messages<CharT>) [edit]

Geerbt von std::messages_base

Verschachtelte Typen

Typ Definition
catalog ein nicht näher spezifizierter vorzeichenbehafteter Ganzzahltyp

[edit] 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" メモリーが足りません

[edit] Siehe auch

implementiert den Abruf von Zeichenketten aus Nachrichtenkatalogen
(Klassentemplate) [bearbeiten]