std::chrono::weekday_indexed::weekday_indexed

From cppreference.com
 
 
Utilities library
General utilities
Date and time
Function objects
Formatting library (C++20)
(C++11)
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)   
(C++20)
Swap and type operations
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Elementary string conversions
(C++17)
(C++17)
 
 
 
weekday_indexed() = default;
(1) (since C++20)
constexpr weekday_indexed( const std::chrono::weekday& wd, unsigned index ) noexcept;
(2) (since C++20)

Constructs a weekday_indexed.

1) Default constructor leaves both the std::chrono::weekday and the index value uninitialized.
2) Constructs a weekday_indexed storing the weekday wd and the index index. The values held are unspecified if !wd.ok() || index > 7.

Notes

A more convenient way to construct a weekday_indexed is with weekday's operator[], i.e., wd[index].

Example

#include <chrono>
#include <iostream>
using namespace std::chrono;
 
int main()
{
    constexpr auto third_friday = weekday_indexed(Friday, 3); // uses constructor (2)
    static_assert(third_friday == Friday[3]);
 
    weekday_indexed wdi = Tuesday[2]; // represents the 2nd Tuesday
    std::cout << year_month_day{ wdi / October / 2019y } << '\n';
}

Possible output:

2019-10-08

See also

convenience syntax for constructing a weekday_indexed or weekday_last from this weekday
(public member function of std::chrono::weekday)