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) 对全局 std::chrono::tzdb_list 单例的引用。
2) std::chrono::get_tzdb_list().front().
3) 包含最新远程数据库版本的字符串。
4) std::chrono::get_tzdb_list().front() (在由该函数进行任何更新后)。