std::chrono::get_tzdb_list, std::chrono::get_tzdb, std::chrono::remote_version, std::chrono::reload_tzdb
Von cppreference.com
| 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).