std::chrono::operator/(calendar)
Defined in header <chrono>
|
||
year_month |
||
constexpr
auto operator/
(
const
std::chrono::year
& y,
const
std::chrono::month
& m )
noexcept
|
(1) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::year
& y, int m )
noexcept
- > std::chrono::year_month ; |
(2) | (since C++20) |
month_day |
||
constexpr
auto operator/
(
const
std::chrono::month
& m,
const
std::chrono::day
& d )
noexcept
|
(3) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::month
& m, int d )
noexcept
- > std::chrono::month_day ; |
(4) | (since C++20) |
constexpr
auto operator/
(
int m, const
std::chrono::day
& d )
noexcept
- > std::chrono::month_day ; |
(5) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::day
& d,
const
std::chrono::month
& m )
noexcept
|
(6) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::day
& d, int m )
noexcept
- > std::chrono::month_day ; |
(7) | (since C++20) |
month_day_last |
||
constexpr
auto operator/
(
const
std::chrono::month
& m,
std::chrono::last_spec ) noexcept |
(8) | (since C++20) |
constexpr
auto operator/
(
int m, std::chrono::last_spec
)
noexcept
- > std::chrono::month_day_last ; |
(9) | (since C++20) |
constexpr
auto operator/
(
std::chrono::last_spec,
const
std::chrono::month
& m )
noexcept
|
(10) | (since C++20) |
constexpr
auto operator/
(
std::chrono::last_spec, int m )
noexcept
- > std::chrono::month_day_last ; |
(11) | (since C++20) |
month_weekday |
||
constexpr
auto operator/
(
const
std::chrono::month
& m,
const
std::chrono::weekday_indexed
& wdi )
noexcept
|
(12) | (since C++20) |
constexpr
auto operator/
(
int m, const
std::chrono::weekday_indexed
& wdi )
noexcept
- > std::chrono::month_weekday ; |
(13) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::weekday_indexed
& wdi,
const
std::chrono::month
& m )
noexcept
|
(14) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::weekday_indexed
& wdi, int m )
noexcept
- > std::chrono::month_weekday ; |
(15) | (since C++20) |
month_weekday_last |
||
constexpr
auto operator/
(
const
std::chrono::month
& m,
const
std::chrono::weekday_last
& wdl )
noexcept
|
(16) | (since C++20) |
constexpr
auto operator/
(
int m, const
std::chrono::weekday_last
& wdl )
noexcept
- > std::chrono::month_weekday_last ; |
(17) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::weekday_last
& wdl,
const
std::chrono::month
& m )
noexcept
|
(18) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::weekday_last
& wdl, int m )
noexcept
- > std::chrono::month_weekday_last ; |
(19) | (since C++20) |
year_month_day |
||
constexpr
auto operator/
(
const
std::chrono::year_month
& ym,
const
std::chrono::day
& d )
noexcept
|
(20) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::year_month
& ym, int d )
noexcept
- > std::chrono::year_month_day ; |
(21) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::year
& y,
const
std::chrono::month_day
& md )
noexcept
|
(22) | (since C++20) |
constexpr
auto operator/
(
int y, const
std::chrono::month_day
& md )
noexcept
- > std::chrono::year_month_day ; |
(23) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::month_day
& md,
const
std::chrono::year
& y )
noexcept
|
(24) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::month_day
& md, int y )
noexcept
- > std::chrono::year_month_day ; |
(25) | (since C++20) |
year_month_day_last |
||
constexpr
auto operator/
(
const
std::chrono::year_month
& ym,
std::chrono::last_spec ) noexcept |
(26) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::year
& y,
const
std::chrono::month_day_last
& mdl )
noexcept
|
(27) | (since C++20) |
constexpr
auto operator/
(
int y, const
std::chrono::month_day_last
& mdl )
noexcept
- > std::chrono::year_month_day_last ; |
(28) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::month_day_last
& mdl,
const
std::chrono::year
& y )
noexcept
|
(29) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::month_day_last
& mdl, int y )
noexcept
- > std::chrono::year_month_day_last ; |
(30) | (since C++20) |
year_month_weekday |
||
constexpr
auto operator/
(
const
std::chrono::year_month
& ym,
const
std::chrono::weekday_indexed
& wdi )
noexcept
|
(31) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::year
& y,
const
std::chrono::month_weekday
& mwd )
noexcept
|
(32) | (since C++20) |
constexpr
auto operator/
(
int y, const
std::chrono::month_weekday
& mwd )
noexcept
- > std::chrono::year_month_weekday ; |
(33) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::month_weekday
& mwd,
const
std::chrono::year
& y )
noexcept
|
(34) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::month_weekday
& mwd, int y )
noexcept
- > std::chrono::year_month_weekday ; |
(35) | (since C++20) |
year_month_weekday_last |
||
constexpr
auto operator/
(
const
std::chrono::year_month
& ym,
const
std::chrono::weekday_last
& wdl )
noexcept
|
(36) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::year
& y,
const
std::chrono::month_weekday_last
& mwdl )
noexcept
|
(37) | (since C++20) |
constexpr
auto operator/
(
int y, const
std::chrono::month_weekday_last
& mwdl )
noexcept
- > std::chrono::year_month_weekday_last ; |
(38) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::month_weekday_last
& mwdl,
const
std::chrono::year
& y )
noexcept
|
(39) | (since C++20) |
constexpr
auto operator/
(
const
std::chrono::month_weekday_last
& mwdl, int y )
noexcept
- > std::chrono::year_month_weekday_last ; |
(40) | (since C++20) |
These operator/ overloads provide a conventional syntax for the creation of Proleptic Gregorian calendar
For creation of a full date, any of the following three orders are accepted:
year/month/day
,month/day/year
,day/month/year
.
In each case day
can replaced with one of:
- std::chrono::last, for the last day of the month;
weekday[i]
, for thei
th weekday of the month;weekday[std::chrono::last]
, for the last weekday of the month.
A plain integer is accepted if its meaning is unambiguous from the types of other operands: 2005y/4/5 is allowed, but 5/April/2005
Partial-date types (year_month
, month_day
, etc.) can be created by not applying the second operator/
Return value
Example
#include <chrono> using namespace std::chrono; constexpr auto ym{2021y/8}; static_assert(ym == year_month(year(2021), August)); constexpr auto md{9/15d}; static_assert(md == month_day(September, day(15))); constexpr auto mdl{October/last}; static_assert(mdl == month_day_last(month(10))); constexpr auto mw{11/Monday[3]}; static_assert(mw == month_weekday(November, Monday[3])); constexpr auto mwdl{December/Sunday[last]}; static_assert(mwdl == month_weekday_last(month(12), weekday_last(Sunday))); // Those 3 year/month/day orders that people actually use on this planet and beyond: constexpr auto ymd{year(2021)/January/day(23)}; static_assert(ymd == month{1}/23/2021); static_assert(ymd == day{23}/1/2021); static_assert(ymd == year_month_day(2021y, month(January), 23d)); int main() {}