Namensräume
Varianten
Aktionen

std::chrono::get_tzdb_list, std::chrono::get_tzdb, std::chrono::remote_version, std::chrono::reload_tzdb

Von cppreference.com
< cpp‎ | chrono
 
 
Datums- und Zeitbibliothek
Zeitpunkt
(C++11)
(C++20)
Dauer
(C++11)
Uhren
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Tageszeit
(C++20)(C++20)
(C++20)(C++20)
(C++20)
Kalender
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
chrono E/A
(C++20)

Zeitzone
(C++20)
(C++20)
get_tzdbget_tzdb_listreload_tzdbremote_version
(C++20)(C++20)(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C-Stil Datums- und Zeitfunktionen
 
std::chrono::tzdb_list& get_tzdb_list();
(1) (seit C++20)
const std::chrono::tzdb& get_tzdb();
(2) (seit C++20)
std::string remote_version();
(3) (seit C++20)
const std::chrono::tzdb& reload_tzdb();
(4) (seit C++20)

Diese Funktionen bieten Zugriff auf die programmweite Zeitzonendatenbank.

1) Gibt eine Referenz auf das globale std::chrono::tzdb_list Singleton zurück. Wenn dies der erste Zugriff auf die Datenbank ist, wird die Datenbank initialisiert. Nach der Initialisierung enthält die Datenbank ein einzelnes initialisiertes std::chrono::tzdb Objekt. Diese Funktion ist Thread-sicher: Gleichzeitige Aufrufe dieser Funktion aus mehreren Threads führen zu keinem Datenwettlauf.
2) Gibt eine Referenz auf das erste std::chrono::tzdb Objekt zurück, das vom tzdb_list Singleton gehalten wird. Entspricht std::chrono::get_tzdb_list().front().
3) Gibt einen String zurück, der die neueste Version der externen Datenbank enthält.
4) Wenn remote_version() != get_tzdb().version ist, wird ein neues tzdb Objekt, das die externe Datenbank repräsentiert, an den Anfang des tzdb_list Singletons, auf das über get_tzdb_list() verwiesen wird, gestellt. Andernfalls hat dies keine Auswirkungen. Keine Referenzen, Zeiger oder Iteratoren werden ungültig gemacht. Das Aufrufen dieser Funktion gleichzeitig mit get_tzdb_list().front() oder get_tzdb_list().erase_after() führt keinen Datenwettlauf ein.

[bearbeiten] Ausnahmen

1) std::runtime_error, wenn aus irgendeinem Grund keine Referenz auf eine tzdb_list zurückgegeben werden kann, die ein oder mehrere gültige tzdb enthält.

[bearbeiten] Rückgabewert

1) Eine Referenz auf das globale std::chrono::tzdb_list Singleton.
2) std::chrono::get_tzdb_list().front().
3) Ein String, der die neueste Version der externen Datenbank enthält.
4) std::chrono::get_tzdb_list().front() (nach jeder von dieser Funktion durchgeführten Aktualisierung).