std::chrono::last_spec, std::chrono::last
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <chrono>
|
||
struct last_spec { explicit last_spec() = default; }; |
(начиная с C++20) | |
inline constexpr last_spec last{}; |
(начиная с C++20) | |
last_spec это пустой теговый тип, который используется в сочетании с другими типами календаря для обозначения последней сущности в последовательности. В зависимости от контекста он может указывать на последний день месяца (например, 2018y/February/last, для последнего дня февраля 2018 г., т.е. 2018-02-28) или последний день недели в месяце (например, 2018/February/Sunday[last], для последнего воскресенья февраля 2018 г., т.е 2018-02-25).
Пример
Запустить этот код
#include <chrono>
int main()
{
using namespace std::chrono;
constexpr auto mdl {June/last};
static_assert(mdl == month_day_last(month(6)));
constexpr auto ymwdl {year(2023)/December/Tuesday[last]};
static_assert(ymwdl == year_month_weekday_last(
year(2023), month(12), weekday_last(Tuesday)));
}