std::messages_byname
Von cppreference.com
| 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) |
| (Destruktor) |
zerstört ein messages_byname Facette(protected member function) |
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>) | |
ruft do_get auf(public member function of std::messages<CharT>) | |
ruft do_close auf(public member function of std::messages<CharT>) |
Geschützte Memberfunktionen
| [virtuell] |
öffnet einen benannten Nachrichten-Katalog (virtual protected member function of std::messages<CharT>) |
| [virtuell] |
ruft eine Nachricht aus einem geöffneten Nachrichten-Katalog ab (virtual protected member function of std::messages<CharT>) |
| [virtuell] |
schließt einen Nachrichten-Katalog (virtual protected member function of std::messages<CharT>) |
Geerbt von std::messages_base
Verschachtelte Typen
| Typ | Definition |
catalog
|
ein nicht näher spezifizierter vorzeichenbehafteter Ganzzahltyp |
[edit] Beispiel
Führen Sie diesen Code aus
#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) |