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

出自cppreference.com
 
 
 
std::chrono::tzdb_list& get_tzdb_list();
(1) (C++20 起)
const std::chrono::tzdb& get_tzdb();
(2) (C++20 起)
std::string remote_version();
(3) (C++20 起)
const std::chrono::tzdb& reload_tzdb();
(4) (C++20 起)

這些函數提供到程序範圍的時區數據庫訪問。

1) 返回到全局 std::chrono::tzdb_list 單例的引用。若這是到數據庫的首次訪問,則初始化數據庫。初始化後,數據庫將保有單個初始化的 std::chrono::tzdb 對象。此函數是線程安全的:同時調用此函數不引入數據競爭。
2) 返回到 tzdb_list 單例所保有的首個 std::chrono::tzdb 對象的引用。等價於 std::chrono::get_tzdb_list().front()
3) 返回含有最新遠程數據庫版本的字符串。
4)remote_version() != get_tzdb().version,則推入表示遠程數據庫的新 tzdb 對象到 get_tzdb_list() 所引用的 tzdb_list 單例的前部。否則無效果。不會使任何引用、指針或迭代器失效。同時調用此函數與 get_tzdb_list().front()get_tzdb_list().erase_after() 不引入數據競爭。

異常

1) 若因任何原因,無法返回到含有一或多個有效 tzdbtzdb_list 的引用,則為 std::runtime_error

返回值

1) 到全局 std::chrono::tzdb_list 單例的引用。
2) std::chrono::get_tzdb_list().front()
3) 含有最新遠程數據庫版本的字符串。
4) (此函數所作的任何更新後的)std::chrono::get_tzdb_list().front()