std::chrono:: get_tzdb_list, std::chrono:: get_tzdb, std::chrono:: remote_version, std::chrono:: reload_tzdb
From cppreference.net
|
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)
Возвращает ссылку на первый объект
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
(
)
(после любых обновлений, выполненных этой функцией).