Namespaces
Variants

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) 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::runtime_error 1つ以上の有効な tzdb を含む tzdb_list への参照を何らかの理由で返せない場合。

戻り値

1) グローバルな std::chrono::tzdb_list シングルトンへの参照。
2) std :: chrono :: get_tzdb_list ( ) . front ( ) .
3) 最新のリモートデータベースバージョンを含む文字列。
4) std :: chrono :: get_tzdb_list ( ) . front ( ) (この関数によって行われた更新後のもの)。