Namespaces
Variants

std::chrono:: weekday_indexed

From cppreference.net
Определено в заголовке <chrono>
class weekday_indexed ;
(начиная с C++20)

Класс weekday_indexed объединяет weekday , представляющий день недели в пролептическом григорианском календаре , с небольшим индексом n в диапазоне [ 1 , 5 ] . Он представляет первый, второй, третий, четвертый или пятый будний день некоторого месяца.

weekday_indexed является TriviallyCopyable StandardLayoutType .

Содержание

Функции-члены

создает объект weekday_indexed
(публичная функция-член)
доступ к сохраненному weekday
(публичная функция-член)
доступ к сохраненному индексу
(публичная функция-член)
проверяет, что день недели и индекс оба являются допустимыми
(публичная функция-член)

Функции, не являющиеся членами класса

(C++20)
сравнивает два значения weekday_indexed
(функция)
(C++20)
выводит weekday_indexed в поток
(шаблон функции)

Вспомогательные классы

поддержка форматирования для weekday_indexed
(специализация шаблона класса)
поддержка хеширования для std::chrono::weekday_indexed
(специализация шаблона класса)

Пример

#include <chrono>
#include <iostream>
int main()
{
    using namespace std::chrono;
    constexpr weekday_indexed wi = Friday[2];
    // Индексированный день недели может использоваться везде, где можно использовать chrono::day:
    constexpr year_month_weekday ymwd = 2021y / August / wi;
    static_assert(ymwd == August / wi / 2021y &&
                  ymwd == wi / August / 2021y);
    std::cout << ymwd << '\n';
    constexpr year_month_day ymd{ymwd}; // преобразование
    static_assert(ymd == 2021y / 8 / 13);
    std::cout << ymd << '\n';
}

Возможный вывод:

2021/Aug/Fri[2]
2021-08-13