- chrono[meta header]
- std::chrono[meta namespace]
- class[meta id-type]
- cpp20[meta cpp]
namespace std::chrono {
class weekday_last;
}
weekday_last
は、月内での指定した最終曜日を表すクラスである。
このクラスは等値比較ができ、EqualityComparableの要件を満たす。しかし大小比較はできず、LessThanComparable要件は満たさない。
このクラスは、トリビアルコピー可能で、かつスタンダードレイアウト型である。
名前 |
説明 |
対応バージョン |
(constructor) |
コンストラクタ |
C++20 |
weekday_last& operator=(const weekday_last&) = default; weekday_last& operator=(weekday_last&&) = default; |
代入演算子 |
C++20 |
名前 |
説明 |
対応バージョン |
weekday |
曜日を取得する |
C++20 |
ok |
値が範囲に収まっているか判定する |
C++20 |
名前 |
説明 |
対応バージョン |
operator== |
等値比較を行う |
C++20 |
bool operator!=(const weekday_last&, const weekday_last&) noexcept; |
非等値比較を行う (== により使用可能) |
C++20 |
名前 |
説明 |
対応バージョン |
template <class T> struct hash; |
hash クラスの先行宣言 |
C++26 |
template<> struct hash<chrono::weekday_last>; |
hash クラスのweekday_last に対する特殊化 |
C++26 |
#include <cassert>
#include <iostream>
#include <chrono>
namespace chrono = std::chrono;
using namespace std::chrono_literals;
int main() {
// 未規定の年月の、最後の日曜日
auto wl1 = chrono::Sunday[chrono::last];
chrono::weekday_last wl2{chrono::Sunday};
assert(wl1.weekday() == chrono::Sunday);
assert(wl1 == wl2);
// 2020年4月の最後の日曜日を取得する
chrono::year_month_weekday_last ymwl = 2020y/4/chrono::Sunday[chrono::last];
chrono::sys_days sd{ymwl};
chrono::year_month_day date{sd};
std::cout << date << std::endl;
}
- chrono::weekday_last[color ff0000]
- chrono::Sunday[link weekday_constants.md]
- chrono::last[link last_spec.md]
- 2020y[link year/op_y.md]
- wl1.weekday()[link weekday_indexed/weekday.md]
- chrono::year_month_weekday_last[link year_month_weekday_last.md]
- chrono::sys_days[link sys_time.md]
- chrono::year_month_day[link year_month_day.md]
- Clang: 8.0 (入出力ストリームなし) [mark verified]
- GCC: 10.1 [mark noimpl]
- Visual C++: 2019 Update 3 [mark noimpl]