[time.cal.wd.overview] (original) (raw)

30 Time library [time]

30.8 The civil calendar [time.cal]

30.8.6 Class weekday [time.cal.wd]

30.8.6.1 Overview [time.cal.wd.overview]

namespace std::chrono { class weekday { unsigned char wd_; public: weekday() = default;constexpr explicit weekday(unsigned wd) noexcept;constexpr weekday(const sys_days& dp) noexcept;constexpr explicit weekday(const local_days& dp) noexcept;constexpr weekday& operator++() noexcept;constexpr weekday operator++(int) noexcept;constexpr weekday& operator--() noexcept;constexpr weekday operator--(int) noexcept;constexpr weekday& operator+=(const days& d) noexcept;constexpr weekday& operator-=(const days& d) noexcept;constexpr unsigned c_encoding() const noexcept;constexpr unsigned iso_encoding() const noexcept;constexpr bool ok() const noexcept;constexpr weekday_indexed operator[](unsigned index) const noexcept;constexpr weekday_last operator[](last_spec) const noexcept;};}

weekday represents a day of the week in the civil calendar.

It normally holds values in the range 0 to 6, corresponding to Sunday through Saturday, but it may hold non-negative values outside this range.

It can be constructed with any unsigned value, which will be subsequently truncated to fit into weekday's unspecified internal storage.

[Note 1:

weekday is notCpp17LessThanComparablebecause there is no universal consensus on which day is the first day of the week.

weekday's arithmetic operations treat the days of the week as a circular range, with no beginning and no end.

— _end note_]

weekday is a trivially copyable and standard-layout class type.