- chrono[meta header]
- std::chrono[meta namespace]
- function[meta id-type]
- cpp20[meta cpp]
namespace std::chrono {
constexpr year_month
operator/(const year& y,
const month& m) noexcept; // (1) C++20
constexpr year_month
operator/(const year& y,
int m) noexcept; // (2) C++20
constexpr year_month_day
operator/(const year& y,
const month_day& md) noexcept; // (3) C++20
constexpr year_month_day
operator/(int y,
const month_day& md) noexcept; // (4) C++20
constexpr year_month_day_last
operator/(const year& y,
const month_day_last& mdl) noexcept; // (5) C++20
constexpr year_month_day_last
operator/(int y,
const month_day_last& mdl) noexcept; // (6) C++20
constexpr year_month_weekday
operator/(const year& y,
const month_weekday& mwd) noexcept; // (7) C++20
constexpr year_month_weekday
operator/(int y,
const month_weekday& mwd) noexcept; // (8) C++20
constexpr year_month_weekday_last
operator/(const year& y,
const month_weekday_last& mwdl) noexcept; // (9) C++20
constexpr year_month_weekday_last
operator/(int y,
const month_weekday_last& mwdl) noexcept; // (10) C++20
}- month[link /reference/chrono/month.md]
- year_month[link /reference/chrono/year_month.md]
- year_month_day[link /reference/chrono/year_month_day.md]
- month_day[link /reference/chrono/month_day.md]
- year_month_day_last[link /reference/chrono/year_month_day_last.md]
- month_day_last[link /reference/chrono/month_day_last.md]
- year_month_weekday[link /reference/chrono/year_month_weekday.md]
- month_weekday[link /reference/chrono/month_weekday.md]
- year_month_weekday_last[link /reference/chrono/year_month_weekday_last.md]
- month_weekday_last[link /reference/chrono/month_weekday_last.md]
カレンダー要素同士をつなぎ合わせる。
- (1) :
year型とmonth型をつなぎ、年と月の両方の情報をもつ型にまとめる - (2) :
year型とint型での月の値をつなぎ、年と月の両方の情報をもつ型にまとめる - (3) :
year型とmonth_day型をつなぎ、年月日の情報をもつ型にまとめる - (4) :
int型の年とmonth_day型をつなぎ、年月日の情報をもつ型にまとめる - (5) :
year型とmonth_day_last型をつなぎ、年月の最終日の情報をもつ型にまとめる - (6) :
int型の年とmonth_day_last型をつなぎ、年月の最終日の情報をもつ型にまとめる - (7) :
year型とmonth_weekday型をつなぎ、年月のN回目の曜日の情報をもつ型にまとめる - (8) :
int型の年とmonth_weekday型をつなぎ、年月のN回目の曜日の情報をもつ型にまとめる - (9) :
year型とmonth_weekday_last型をつなぎ、年月の指定した最終曜日の情報をもつ型にまとめる - (10) :
int型の年とmonth_weekday_last型をつなぎ、年月の指定した最終曜日の情報をもつ型にまとめる
- (1) :
return {y, m}; - (2) :
return y /month{m}; - (3) :
return y / md.month()/ md.day(); - (4) :
return year(y) / md; - (5) :
returnyear_month_day_last{y, mdl}; - (6) :
return year(y) / mdl; - (7) :
returnyear_month_weekday{y, mwd.month(), mwd.weekday_indexed()}; - (8) :
return year(y) / mwd; - (9) :
returnyear_month_weekday_last{y, mwdl.month(), mwdl.weekday_last()}; - (10) :
return year(y) / mwdl;
投げない
#include <cassert>
#include <chrono>
using namespace std::chrono;
int main()
{
// (1), (2)
assert(2020y/March == (year_month{2020y, March}));
assert(2020y/3 == (year_month{2020y, March}));
// (3), (4)
assert(2020y/(March/1) == (year_month_day{2020y, March, 1d}));
assert(2020/(March/1) == (year_month_day{2020y, March, 1d}));
// (5), (6)
assert(2020y/(March/last) == (year_month_day_last{2020y, March/last}));
assert(2020/(March/last) == (year_month_day_last{2020y, March/last}));
// (7), (8)
assert(2020y/(March/Sunday[1]) == (year_month_weekday{2020y, March, Sunday[1]}));
assert(2020/(March/Sunday[1]) == (year_month_weekday{2020y, March, Sunday[1]}));
// (9), (10)
assert(2020y/(March/Sunday[last]) == (year_month_weekday_last{2020y, March, Sunday[last]}));
assert(2020/(March/Sunday[last]) == (year_month_weekday_last{2020y, March, Sunday[last]}));
}- 2020y[link op_y.md]
- March[link /reference/chrono/month_constants.md]
- 1d[link /reference/chrono/day/op_d.md]
- last[link /reference/chrono/last_spec.md]
- Sunday[link /reference/chrono/weekday_constants.md]
- year_month[link /reference/chrono/year_month.md]
- year_month_day[link /reference/chrono/year_month_day.md]
- year_month_day_last[link /reference/chrono/year_month_day_last.md]
- year_month_weekday[link /reference/chrono/year_month_weekday.md]
- year_month_weekday_last[link /reference/chrono/year_month_weekday_last.md]
- C++20
- Clang: 8.0
- GCC: 11.1
- Visual C++: (2019 Update 3時点で実装なし)