- chrono[meta header]
- std::chrono[meta namespace]
- year_month_weekday_last[meta class]
- function[meta id-type]
- cpp20[meta cpp]
constexpr operator sys_days() const noexcept; // (1) C++20- sys_days[link /reference/chrono/sys_time.md]
year_month_weekday_lastオブジェクトをシステム時間の日付に、暗黙に型変換する。
ok()がtrueである場合、year()/month()の最後のweekday()を表すsys_daysを返す。そうでなければ未規定の値を返す。
#include <cassert>
#include <chrono>
namespace chrono = std::chrono;
using namespace std::chrono_literals;
int main()
{
chrono::sys_days date = 2020y/3/chrono::Sunday[chrono::last];
assert(chrono::year_month_day{date} == 2020y/3/29);
}- chrono::sys_days[link /reference/chrono/sys_time.md]
- 2020y[link /reference/chrono/year/op_y.md]
- chrono::Sunday[link /reference/chrono/weekday_constants.md]
- chrono::year_month_day[link /reference/chrono/year_month_day.md]
- chrono::last[link /reference/chrono/last_spec.md]
- C++20
- Clang: 8.0
- GCC: 11.1
- Visual C++: (2019 Update 3時点で実装なし)
- GCC 11のtrunkバージョンでは
index() == 0の場合に間違った値が返る。正式リリース時には直っている可能性がある