最終更新日時(UTC):
が更新

履歴 編集

class
<chrono>

std::chrono::time_zone_link(C++20)

namespace std::chrono {
  class time_zone_link;
}

概要

time_zone_linkは、タイムゾーンの代替名を管理する型である。

このクラスの機能は、std::chrono::locate_zone()内で使用される。

例として、キプロス共和国の首都ニコシアはアジアに属するが、多くのユーザーはヨーロッパで見つかることを期待している。ニコシアは、ヨーロッパとアジアどちらでも見つかるようリンクされており、現在の正式な地域だけでなく (Asia/Nicosia)、リンクされた地域も指定できるようになっている。

using namespace std::chrono;

const time_zone* linked_tz = locate_zone("Europe/Nicosia"); // タイムゾーンの代替名

// 実際にタイムゾーンの時間計算に使用されるのはリンク先のタイムゾーン名
std::cout << linked_tz->name() << std::endl; // Asia/Nicosia

また、"UTC""GMT"も代替名であり、本来の名前は"Etc/UTC""Etc/GMT"となっている。

メンバ関数

構築/コピー/破棄

名前 説明 対応バージョン
time_zone_link(time_zone_link&&) = default;
その他未規定の追加コンストラクタがある
コンストラクタ C++20
time_zone_link& operator=(time_zone_link&&) = default; 代入演算子 C++20

観測

名前 説明 対応バージョン
name タイムゾーンの代替名を取得する C++20
target 代替名に対応するタイムゾーンの名前を取得する C++20

非メンバ関数

比較演算

名前 説明 対応バージョン
operator== 等値比較を行う C++20
bool operator!=(const time_zone_link&, const time_zone_link&) noexcept; 非等値比較を行う (==により使用可能) C++20
operator<=> 三方比較を行う C++20
bool operator<(const time_zone_link&, const time_zone_link&) noexcept; 左辺が右辺より小さいかを判定する (<=>により使用可能) C++20
bool operator<=(const time_zone_link&, const time_zone_link&) noexcept; 左辺が右辺以下を判定する (<=>により使用可能) C++20
bool operator>(const time_zone_link&, const time_zone_link&) noexcept; 左辺が右辺より大きいかを判定する (<=>により使用可能) C++20
bool operator>=(const time_zone_link&, const time_zone_link&) noexcept; 左辺が右辺以上を判定する (<=>により使用可能) C++20

バージョン

言語

  • C++20

処理系

  • Clang: (9.0時点で実装なし)
  • GCC: (9.2時点で実装なし)
  • Visual C++: (2019 Update 3時点で実装なし)

参照

  • P1982R0 Rename link to time_zone_link
    • C++20の策定中、National Body Commentとしてlinkというクラス名は一般的すぎて説明的ではないと指摘があり、time_zone_linkに名称変更された