Namensräume
Varianten
Aktionen

std::moneypunct_byname

Von cppreference.com
< cpp‎ | locale
 
 
 
 
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

  • CharT ist einer von char und wchar_t, und
  • Intl ist 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) [bearbeiten]
(Destruktor)
zerstört ein moneypunct_byname Facette
(protected member function) [bearbeiten]

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>) [edit]
ruft do_thousands_sep auf
(public member function of std::moneypunct<CharT,International>) [edit]
ruft do_grouping auf
(public member function of std::moneypunct<CharT,International>) [edit]
ruft do_curr_symbol auf
(public member function of std::moneypunct<CharT,International>) [edit]
ruft do_positive_sign oder do_negative_sign auf
(public member function of std::moneypunct<CharT,International>) [edit]
ruft do_frac_digits auf
(public member function of std::moneypunct<CharT,International>) [edit]
ruft do_pos_format/do_neg_format auf
(public member function of std::moneypunct<CharT,International>) [edit]

Geschützte Memberfunktionen

stellt das zu verwendende Zeichen für den Dezimalpunkt bereit
(virtual protected member function of std::moneypunct<CharT,International>) [edit]
stellt das zu verwendende Zeichen für den Tausendertrenner bereit
(virtual protected member function of std::moneypunct<CharT,International>) [edit]
[virtuell]
stellt die Anzahl der Ziffern zwischen jedem Paar von Tausendertrennzeichen bereit
(virtual protected member function of std::moneypunct<CharT,International>) [edit]
[virtuell]
liefert die Zeichenkette, die als Währungsbezeichner verwendet werden soll
(virtual protected member function of std::moneypunct<CharT,International>) [edit]
liefert die Zeichenkette, die einen positiven oder negativen Wert angibt
(virtual protected member function of std::moneypunct<CharT,International>) [edit]
[virtuell]
liefert die Anzahl der Nachkommastellen, die angezeigt werden sollen
(virtual protected member function of std::moneypunct<CharT,International>) [edit]
liefert das Formatierungsmuster für Währungswerte
(virtual protected member function of std::moneypunct<CharT,International>) [edit]

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) [bearbeiten]