class
std::chrono::day(C++20)
namespace std::chrono {
class day;
}
概要
day
は、特定の月に属するわけではない、日単体の値を表すカレンダー表現のためクラスである。
通常は値の範囲として[1, 31]
を扱うが、このクラスではその範囲外の値として[0, 255]
まで扱える。
このクラスは等値比較および大小比較ができ、EqualityComparableおよびLessThanComparableの要件を満たす。
このクラスは、トリビアルコピー可能で、かつスタンダードレイアウト型である。
備考
メンバ関数
構築/コピー/破棄
名前 |
説明 |
対応バージョン |
(constructor) |
コンストラクタ |
C++20 |
day& operator=(const day&) = default; day& operator=(day&&) = default; |
代入演算子 |
C++20 |
算術演算
変換
検証
名前 |
説明 |
対応バージョン |
ok |
値が範囲[1, 31] に収まっているか判定する |
C++20 |
非メンバ関数
算術演算
カレンダー構文演算子
名前 |
説明 |
対応バージョン |
operator/ |
カレンダー要素同士をつなぎ合わせる |
C++20 |
比較演算
名前 |
説明 |
対応バージョン |
operator== |
等値比較を行う |
C++20 |
bool operator!=(const day&, const day&) noexcept; |
非等値比較を行う (== により使用可能) |
C++20 |
operator<=> |
三方比較を行う |
C++20 |
bool operator<(const day&, const day&) noexcept; |
左辺が右辺より小さいかを判定する (<=> により使用可能) |
C++20 |
bool operator<=(const day&, const day&) noexcept; |
左辺が右辺以下を判定する (<=> により使用可能) |
C++20 |
bool operator>(const day&, const day&) noexcept; |
左辺が右辺より大きいかを判定する (<=> により使用可能) |
C++20 |
bool operator>=(const day&, const day&) noexcept; |
左辺が右辺以上を判定する (<=> により使用可能) |
C++20 |
入出力
リテラル
名前 |
説明 |
対応バージョン |
d |
日リテラル |
C++20 |
文字列フォーマットサポート
ハッシュサポート
名前 |
説明 |
対応バージョン |
template <class T> struct hash; |
hash クラスの先行宣言 |
C++26 |
template<> struct hash<chrono::day>; |
hash クラスのday に対する特殊化 |
C++26 |
例
出力
02
18
Mar/01
バージョン
言語
処理系
参照