constexpr bool ok() const noexcept; // (1) C++20
概要
weekday_indexed
オブジェクトが保持する曜日とインデックスが妥当な範囲内にあるかを判定する。
戻り値
コンストラクタで設定されて保持している曜日を表す値wd_
、およびインデックス値index_
があるとして、以下を返す:
return wd_.ok() && 1 <= index_ && index_ <= 5;
備考
- この関数は、値の妥当性を検証するのではなく、カレンダー範囲の値をもっているかの判定をする
例
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
int main()
{
assert(chrono::Sunday[1].ok());
assert(!chrono::Sunday[0].ok());
assert(!chrono::Sunday[6].ok());
assert(!(chrono::weekday_indexed{chrono::weekday{8}, 1}).ok());
}
出力
バージョン
言語
- C++20
処理系
- Clang: 8.0 ✅
- GCC: 9.2 ❌
- Visual C++: 2019 Update 3 ❌