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