|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <chrono> | ||
struct last_spec { | (since C++20) | |
inlineconstexpr last_spec last{}; | (since C++20) | |
last_spec is an empty tag type that is used in conjunction with other calendar types to indicate the last thing in a sequence. Depending on context, it may indicate the last day of a month (as in2018y/February/last, for last day of February 2018, i.e., 2018-02-28) or the last day of the week in a month (as in2018/February/Sunday[last], for last Sunday of February 2018, i.e., 2018-02-25).
#include <chrono> int main(){usingnamespace std::chrono; constexprauto mdl{June/last}; static_assert(mdl== month_day_last(month(6))); constexprauto ymwdl{year(2023)/December/Tuesday[last]}; static_assert(ymwdl== year_month_weekday_last(year(2023), month(12), weekday_last(Tuesday)));}