std::chrono::get_tzdb_list, std::chrono::get_tzdb, std::chrono::remote_version, std::chrono::reload_tzdb
std::chrono::tzdb_list& get_tzdb_list(); |
(1) | (since C++20) |
const std::chrono::tzdb& get_tzdb(); |
(2) | (since C++20) |
std::string remote_version(); |
(3) | (since C++20) |
const std::chrono::tzdb& reload_tzdb(); |
(4) | (since C++20) |
Эти функции обеспечивают доступ к базе данных часовых поясов программы.
1) Возвращает ссылку на глобальный
std::chrono::tzdb_list синглтон. Если это первый доступ к базе данных, инициализирует базу данных. После инициализации база данных будет содержать один инициализированный std::chrono::tzdb объект. Эта функция потокобезопасна: одновременные вызовы этой функции из нескольких потоков не приводят к гонке данных.
2) Возвращает ссылку на первый
std::chrono::tzdb объект, хранящийся в tzdb_list синглтоне. Эквивалентно std::chrono::get_tzdb_list().front().
3) Возвращает строку, содержащую последнюю версию удалённой базы данных.
4) Если
remote_version() != get_tzdb().version, добавляет новый tzdb объект, представляющий удалённую базу данных, в начало tzdb_list синглтона, на который ссылается get_tzdb_list(). В противном случае никаких изменений не происходит. Никакие ссылки, указатели или итераторы не становятся недействительными. Вызов этой функции одновременно с get_tzdb_list().front() или get_tzdb_list().erase_after() не приводит к гонке данных.Исключения
1)
std::runtime_error если по какой-либо причине не удаётся вернуть ссылку на tzdb_list объект, содержащий один или несколько допустимых tzdb.Значение результата
1) Ссылка на глобальный
std::chrono::tzdb_list синглтон.
2)
std::chrono::get_tzdb_list().front().
3) Строка, содержащая последнюю версию удалённой базы данных.
4)
std::chrono::get_tzdb_list().front() (после любых обновлений, произведённых этой функцией).
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/chrono/tzdb_functions