std::chrono::last_spec
From cppreference.com
Defined in header <chrono>
|
||
struct last_spec { |
(since C++20) | |
inline constexpr 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 in 2018y/February/last, for last day of February 2018, i.e., 2018-02-28) or the last day of the week in a month (as in 2018/February/Sunday[last], for last Sunday of February 2018, i.e., 2018-02-25).
Example
Run this code
#include <iostream> #include <chrono> int main() { std::cout << std::boolalpha; constexpr auto mdl {std::chrono::June/std::chrono::last}; std::cout << (mdl == std::chrono::month_day_last(std::chrono::month(6))) << ' '; constexpr auto ymwdl {std::chrono::year(2023)/ std::chrono::December/ std::chrono::Tuesday[std::chrono::last] }; std::cout << (ymwdl == std::chrono::year_month_weekday_last( std::chrono::year(2023), std::chrono::month(12), std::chrono::weekday_last(std::chrono::Tuesday)) ) << '\n'; }
Output:
true true