Пространства имён
Варианты
Действия

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

Материал из cppreference.com
< cpp‎ | chrono
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм(C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования(C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
 
std::chrono::tzdb_list& get_tzdb_list();
(1) (начиная с C++20)
conststd::chrono::tzdb& get_tzdb();
(2) (начиная с C++20)
std::string remote_version();
(3) (начиная с C++20)
conststd::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() (после любого обновления, сделанного этой функцией).
close