std::chrono::weekday_indexed
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <chrono>
|
||
class weekday_indexed; |
(начиная с C++20) | |
Класс weekday_indexed объединяет weekday, представляющий день недели в пролептическом григорианском календаре, с небольшим индексом n в диапазоне [1, 5]. Он представляет собой первый, второй, третий, четвертый или пятый день недели некоторого месяца.
weekday_indexed это TriviallyCopyable StandardLayoutType.
Функции-элементы
создаёт weekday_indexed (public функция-элемент) | |
| получает доступ к сохранённому weekday (public функция-элемент) | |
| получает доступ к сохранённому индексу (public функция-элемент) | |
| проверяет, действительны ли день недели и индекс (public функция-элемент) |
Функции, не являющиеся элементами
(C++20) |
сравнивает два значения weekday_indexed (функция) |
(C++20) |
выводит weekday_indexed в поток (шаблон функции) |
Вспомогательные классы
поддержка форматирования для weekday_indexed (специализация шаблона класса) | |
| поддержка хэширования для std::chrono::weekday_indexed (специализация шаблона класса) |
Пример
Запустить этот код
#include <iostream>
#include <chrono>
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 and
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