cpp / latest / chrono / weekday_indexed / weekday_indexed.html /

std::chrono::weekday_indexed::weekday_indexed

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)

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