Namespaces
Variants
Views
Actions

std::chrono::weekday_indexed

From cppreference.com
< cpp‎ | chrono
 
 
Utilities library
General utilities
Relational operators (deprecated in C++20)
 
 
 
Defined in header <chrono>
class weekday_indexed;
(since C++20)

The class weekday_indexed combines a weekday, representing a day of the week in the proleptic Gregorian calendar, with a small index n in the range [15]. It represents the first, second, third, fourth, or fifth weekday of some month.

weekday_indexed is a TriviallyCopyable StandardLayoutType.

Contents

[edit] Member functions

constructs a weekday_indexed
(public member function) [edit]
access the stored weekday
(public member function) [edit]
access the stored index
(public member function) [edit]
checks if the weekday and index are both valid
(public member function) [edit]

[edit] Nonmember functions

compares two weekday_indexed values
(function) [edit]
outputs a weekday_indexed into a stream
(function template) [edit]

[edit] Helper classes

formatting support for weekday_indexed
(class template specialization) [edit]
hash support for std::chrono::weekday_indexed
(class template specialization)

[edit] Example

#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';
}

Possible output:

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