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

来自cppreference.com
< cpp‎ | chrono
 
 
工具库
通用工具
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)

初等字符串转换
(C++17)
(C++17)
栈踪
 
日期和时间工具
时间点
(C++11)
(C++20)
时长
(C++11)
时钟
(C++11)      
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
当天时刻
(C++20)(C++20)
(C++20)(C++20)
(C++20)

日历
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
时区
(C++20)
(C++20)
get_tzdbget_tzdb_listreload_tzdbremote_version
(C++20)(C++20)(C++20)(C++20)
(C++20)
chrono I/O
(C++20)
C 风格日期和时间
 
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) 返回含有最新远程数据库版本的 string 。
4)remote_version() != get_tzdb().version ,则推入表示远程数据库的新 tzdb 对象到 get_tzdb_list() 所引用的 tzdb_list 单例的前部。否则无效果。不非法化任何引用、指针或迭代器。同时与 get_tzdb_list().front()get_tzdb_list().erase_after() 调用此函数不引入数据竞争。

异常

1) 若因任何原因,到 tzdb_list 的引用含有一或多个不能返回的 tzdb 则为 std::runtime_error

返回值

1) 到全局 std::chrono::tzdb_list 单例的引用。
2) std::chrono::get_tzdb_list().front()
3) 含有最新远程数据库版本的 string 。
4) (此函数所作的任何更新后的) std::chrono::get_tzdb_list().front()