Spec-Zone.ru › C++

std::chrono::weekday_indexed

Определён в заголовке <chrono>
class weekday_indexed;
(с C++20)

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

weekday_indexed является типом TriviallyCopyable и StandardLayoutType.

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

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

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

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

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

std::formatter<std::chrono::weekday_indexed>
(C++20)
поддержка форматирования weekday_indexed
(специализация шаблона класса)
std::hash<std::chrono::weekday_indexed>
(C++26)
поддержка хеширования для std::chrono::weekday_indexed
(специализация шаблона класса)

Пример

#include <chrono>
#include <iostream>

int main()
{
    using namespace std::chrono;
    
    constexpr weekday_indexed wi = Friday[2];
    
    // Indexed weekday can be used at any place where chrono::day can be used:
    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}; // a conversion
    static_assert(ymd == 2021y / 8 / 13);
    std::cout << ymd << '\n';
}

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

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/weekday_indexed

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API