std::moneypunct_byname
| Definiert in Header <locale> |
||
| template< class CharT, bool Intl = false > class moneypunct_byname : public std::moneypunct<CharT, Intl>; |
||
std::moneypunct_byname ist ein std::moneypunct Facette, die die geldbezogenen Formatierungspräferenzen eines bei der Konstruktion angegebenen Gebietsschemas kapselt.
Inhalt |
[bearbeiten] Spezialisierungen
Die Standardbibliothek garantiert die Bereitstellung jeder Spezialisierung, die die folgenden Typanforderungen erfüllt
-
CharTist einer von char und wchar_t, und -
Intlist eine mögliche Spezialisierung für einen bool Parameter.
[bearbeiten] Verschachtelte Typen
| Typ | Definition |
pattern
|
std::money_base::pattern |
string_type
|
std::basic_string<CharT> |
[bearbeiten] Member-Funktionen
| (Konstruktor) |
erstellt ein neues moneypunct_byname Facette(public member function) |
| (Destruktor) |
zerstört ein moneypunct_byname Facette(protected member function) |
std::moneypunct_byname::moneypunct_byname
| explicit moneypunct_byname( const char* name, std::size_t refs = 0 ); |
||
| explicit moneypunct_byname( const std::string& name, std::size_t refs = 0 ); |
(seit C++11) | |
Erstellt ein neues std::moneypunct_byname Facette für ein Gebietsschema 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::moneypunct_byname::~moneypunct_byname
| protected: ~moneypunct_byname(); |
||
Zerstört die Facettenklasse.
Geerbt von std::moneypunct
Verschachtelte Typen
| Typ | Definition |
char_type
|
CharT
|
string_type
|
std::basic_string<CharT> |
Datenmember
| Mitglied | Beschreibung |
std::locale::id id [static] |
die Kennung des Facets |
const bool intl [static] |
International |
Memberfunktionen
ruft do_decimal_point auf(public member function of std::moneypunct<CharT,International>) | |
ruft do_thousands_sep auf(public member function of std::moneypunct<CharT,International>) | |
ruft do_grouping auf(public member function of std::moneypunct<CharT,International>) | |
ruft do_curr_symbol auf(public member function of std::moneypunct<CharT,International>) | |
ruft do_positive_sign oder do_negative_sign auf(public member function of std::moneypunct<CharT,International>) | |
ruft do_frac_digits auf(public member function of std::moneypunct<CharT,International>) | |
ruft do_pos_format/do_neg_format auf(public member function of std::moneypunct<CharT,International>) |
Geschützte Memberfunktionen
| [virtuell] |
stellt das zu verwendende Zeichen für den Dezimalpunkt bereit (virtual protected member function of std::moneypunct<CharT,International>) |
| [virtuell] |
stellt das zu verwendende Zeichen für den Tausendertrenner bereit (virtual protected member function of std::moneypunct<CharT,International>) |
| [virtuell] |
stellt die Anzahl der Ziffern zwischen jedem Paar von Tausendertrennzeichen bereit (virtual protected member function of std::moneypunct<CharT,International>) |
| [virtuell] |
liefert die Zeichenkette, die als Währungsbezeichner verwendet werden soll (virtual protected member function of std::moneypunct<CharT,International>) |
| [virtuell] |
liefert die Zeichenkette, die einen positiven oder negativen Wert angibt (virtual protected member function of std::moneypunct<CharT,International>) |
| [virtuell] |
liefert die Anzahl der Nachkommastellen, die angezeigt werden sollen (virtual protected member function of std::moneypunct<CharT,International>) |
| [virtuell] |
liefert das Formatierungsmuster für Währungswerte (virtual protected member function of std::moneypunct<CharT,International>) |
Geerbt von std::money_base
Verschachtelte Typen
| Typ | Definition |
| enum part { none, space, symbol, sign, value }; | nicht geschachtelte Aufzählungstyp |
| struct pattern { char field[4]; }; | der Typ für monetäre Formate |
| Enumerationskonstante | Beschreibung |
keine
|
Leerzeichen sind erlaubt, aber nicht erforderlich, außer an der letzten Position, wo keine Leerzeichen erlaubt sind |
Leerzeichen
|
ein oder mehrere Leerzeichen sind erforderlich |
Symbol
|
die von std::moneypunct::curr_symbol zurückgegebene Zeichenfolge ist erforderlich |
Vorzeichen
|
das erste der von std::moneypunct::positive_sign oder std::moneypunct::negative_sign zurückgegebenen Zeichen ist erforderlich |
value
|
der absolute numerische monetäre Wert ist erforderlich |
[bearbeiten] Beispiel
Dieses Beispiel zeigt, wie die geldbezogenen Formatierungsregeln einer anderen Sprache angewendet werden können, ohne den Rest des Gebietsschemas zu ändern.
#include <iomanip> #include <iostream> #include <locale> int main() { long double mon = 1234567; std::locale::global(std::locale("en_US.utf8")); std::wcout.imbue(std::locale()); std::wcout << L"american locale: " << std::showbase << std::put_money(mon) << '\n'; std::wcout.imbue(std::locale(std::wcout.getloc(), new std::moneypunct_byname<wchar_t>("ru_RU.utf8"))); std::wcout << L"american locale with russian moneypunct: " << std::put_money(mon) << '\n'; }
Ausgabe
american locale: $12,345.67 american locale with russian moneypunct: 12 345.67 руб
[bearbeiten] Siehe auch
| definiert Parameter für Geldformatierung, die von std::money_get und std::money_put verwendet werden (Klassentemplate) |