Namespaces
Variants

std:: time_put_byname

From cppreference.net
Definiert in Header <locale>
template <

class CharT,
class OutputIt = std:: ostreambuf_iterator < CharT >

> class time_put_byname : public std:: time_put < CharT, OutputIt >

std::time_put_byname ist ein std::time_put Facet, das die Zeit- und Datumsformatierungsregeln des bei seiner Konstruktion angegebenen Gebietsschemas kapselt.

Inhaltsverzeichnis

Spezialisierungen

Die Standardbibliothek garantiert die Bereitstellung jeder Spezialisierung, die die folgenden Typanforderungen erfüllt:

  • CharT ist einer von char und wchar_t , und
  • OutputIt muss die Anforderungen eines LegacyOutputIterator erfüllen.

Verschachtelte Typen

Typ Definition
char_type CharT
iter_type OutputIt

Memberfunktionen

(Konstruktor)
konstruiert einen neuen time_put_byname Facette
(öffentliche Elementfunktion)
(Destruktor)
zerstört einen time_put_byname Facette
(geschützte Elementfunktion)

std::time_put_byname:: time_put_byname

explicit time_put_byname ( const char * name, std:: size_t refs = 0 ) ;
explicit time_put_byname ( const std:: string & name, std:: size_t refs = 0 ) ;
(seit C++11)

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

refs wird für Ressourcenverwaltung verwendet: wenn refs == 0 , zerstört die Implementierung den Facet, wenn das letzte std::locale Objekt, das ihn hä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::time_put_byname:: ~time_put_byname

protected :
~time_put_byname ( ) ;

Zerstört das Facet.

Geerbt von std:: time_put

Datenelemente

Element Beschreibung
std::locale::id id [static] der Identifikator des Facets

Elementfunktionen

ruft do_put auf
(öffentliche Elementfunktion von std::time_put<CharT,OutputIt> )

Geschützte Elementfunktionen

[virtual]
formatiert Datum/Uhrzeit und schreibt in Ausgabestrom
(virtuelle geschützte Elementfunktion von std::time_put<CharT,OutputIt> )

Beispiel

Druckt die aktuelle Zeit unter Verwendung der "C"-Locale mit dem time_put Facet, das durch verschiedene std::time_put_byname Facets ersetzt wurde. Das gezeigte Ergebnis wurde mit dem Clang-Compiler erzielt.

#include <codecvt>
#include <ctime>
#include <iomanip>
#include <iostream>
int main()
{
    std::time_t t = std::time(nullptr);
    std::wbuffer_convert<std::codecvt_utf8<wchar_t>> conv(std::cout.rdbuf());
    std::wostream out(&conv);
    out.imbue(std::locale(out.getloc(),
                          new std::time_put_byname<wchar_t>("ja_JP.utf8")));
    out << std::put_time(std::localtime(&t), L"%A %c") << '\n';
    out.imbue(std::locale(out.getloc(),
                          new std::time_put_byname<wchar_t>("ru_RU.utf8")));
    out << std::put_time(std::localtime(&t), L"%A %c") << '\n';
    out.imbue(std::locale(out.getloc(),
                          new std::time_put_byname<wchar_t>("sv_SE.utf8")));
    out << std::put_time(std::localtime(&t), L"%A %c") << '\n';
}

Mögliche Ausgabe:

木曜日 2023年10月05日 19時44分51秒
Четверг Чт 05 окт 2023 19:44:51
torsdag tor  5 okt 2023 19:44:51

Siehe auch

formatiert Inhalte von std::tm für die Ausgabe als Zeichensequenz
(Klassentemplate)