Namespaces
Variants

std::chrono:: weekday_indexed

From cppreference.net
ヘッダーで定義 <chrono>
class weekday_indexed ;
(C++20以降)

weekday_indexed クラスは、 weekday 先発グレゴリオ暦 における曜日を表す)と、 n で表される [ 1 , 5 ] の範囲の小さなインデックスを組み合わせたものです。これは、ある月の第1、第2、第3、第4、または第5の曜日を表します。

weekday_indexed TriviallyCopyable StandardLayoutType です。

目次

メンバー関数

weekday_indexed を構築する
(public member function)
格納された weekday にアクセスする
(public member function)
格納されたインデックスにアクセスする
(public member function)
曜日とインデックスの両方が有効かどうかをチェックする
(public member function)

非メンバー関数

(C++20)
2つの weekday_indexed 値を比較する
(関数)
(C++20)
ストリームへ weekday_indexed を出力する
(関数テンプレート)

ヘルパークラス

weekday_indexed の書式設定サポート
(クラステンプレートの特殊化)
std::chrono::weekday_indexed のハッシュサポート
(クラステンプレートの特殊化)

#include <chrono>
#include <iostream>
int main()
{
    using namespace std::chrono;
    constexpr weekday_indexed wi = Friday[2];
    // インデックス付き曜日は chrono::day が使用できる任意の場所で使用可能:
    constexpr year_month_weekday ymwd = 2021y / August / wi;
    static_assert(ymwd == August / wi / 2021y &&
                  ymwd == wi / August / 2021y);
    std::cout << ymwd << '\n';
    constexpr year_month_day ymd{ymwd}; // 変換
    static_assert(ymd == 2021y / 8 / 13);
    std::cout << ymd << '\n';
}

出力例:

2021/Aug/Fri[2]
2021-08-13