std::chrono::weekday(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’… std::chrono::weekday(3) β€” C++ Standard Libary, section 3 πŸ—“οΈ

Okay bestie, this is the whole manual page for std::chrono::weekday, straight from the C++ Standard Libary. It’s giving β€œcalendar girl but make it constexpr,” and we’re gonna get through every single detail together. 🫢

🌸 NAME 🌸

std::chrono::weekday β€” literally std::chrono::weekday, no cap. It’s the weekday type, and yes the page says the name twice. Iconic. ✨

✨ Synopsis ✨

Defined in header <chrono>
class weekday;                                       (since C++20)
inline constexpr std::chrono::weekday Sunday{0};     (since C++20)
inline constexpr std::chrono::weekday Monday{1};     (since C++20)
inline constexpr std::chrono::weekday Tuesday{2};    (since C++20)
inline constexpr std::chrono::weekday Wednesday{3};  (since C++20)
inline constexpr std::chrono::weekday Thursday{4};   (since C++20)
inline constexpr std::chrono::weekday Friday{5};     (since C++20)
inline constexpr std::chrono::weekday Saturday{6};   (since C++20)

The class weekday represents a day of the week in the proleptic Gregorian calendar.

Its normal range is [0, 6], for Sunday through Saturday, but it can hold any value in the range [0, 255]. Seven named constants are predefined in the std::chrono namespace for the seven days of the week.

weekday is a TriviallyCopyable StandardLayoutType. That’s exactly what the page says, bestie β€” don’t come for me. 😌

πŸ‘‘ Member functions πŸ‘‘

These are the member functions, and the page marks them as public member functions. Slay. πŸ’…

  • constructor β€” constructs a weekday (public member function).
  • operator++, operator++(int), operator--, operator--(int) β€” increments or decrements the weekday (public member function).
  • operator+=, operator-= β€” adds or subtracts a number of days (public member function).
  • c_encoding β€” retrieves the stored weekday value (public member function).
  • iso_encoding β€” retrieves ISO 8601 weekday value (public member function).
  • ok β€” checks if the stored weekday value is valid (public member function).
  • operator[] β€” convenience syntax for constructing a weekday_indexed or weekday_last from this weekday (public member function).

🌈 Nonmember functions 🌈

  • operator== β€” compares two weekday values (C++20) (function).
  • operator+, operator- β€” performs arithmetic on weekdays (C++20) (function).
  • operator<< β€” outputs a weekday into a stream (C++20) (function template).
  • from_stream β€” parses a weekday from a stream according to the provided format (C++20) (function template).

πŸŽ€ Helper classes πŸŽ€

  • std::formatter<std::chrono::weekday> β€” formatting support for weekday (C++20) (class template specialization).
  • std::hash<std::chrono::weekday> β€” hash support for std::chrono::weekday (C++26) (class template specialization).

🧚 Example 🧚

// Run this code

#include <chrono>
#include <iostream>

int main()
{
    std::chrono::weekday x{42 / 13};
    std::cout << x++ << '\n';
    std::cout << x << '\n';
    std::cout << ++x << '\n';
}

🌸 Output: 🌸

Wed
Thu
Fri

πŸ¦‹ See also πŸ¦‹

  • weekday_indexed β€” represents the n^th weekday of a month (C++20) (class).

🫢 That’s the whole page, bestie. Source: http://cppreference.com Β· version/date: 2024.06.10 Β· page: std::chrono::weekday(3). Slay and bye. πŸ’…
πŸ“¦ where this page comes from