std::chrono::operator+,std::chrono::operator-(std::chrono::weekday) (3) - Linux Manuals

std::chrono::operator+,std::chrono::operator-(std::chrono::weekday): std::chrono::operator+,std::chrono::operator-(std::chrono::weekday)


std::chrono::operator+,std::chrono::operator-(std::chrono::weekday) - std::chrono::operator+,std::chrono::operator-(std::chrono::weekday)


constexpr std::chrono::weekday operator+(const std::chrono::weekday& wd, (1) (since C++20)
const std::chrono::days& d) noexcept;
constexpr std::chrono::weekday operator+(const std::chrono::days& d, (2) (since C++20)
const std::chrono::weekday& wd) noexcept;
constexpr std::chrono::weekday operator-(const std::chrono::weekday& wd, (3) (since C++20)
const std::chrono::days& d) noexcept;
constexpr std::chrono::days operator-(const std::chrono::weekday& wd1, (4) (since C++20)
const std::chrono::weekday& wd2) noexcept;

1-2) Adds d.count() days to wd. The weekday value held in the result is computed by first evaluating static_cast<long long>(unsigned(wd)) + d.count() and reducing it modulo 7 to an integer in the range [0, 6].
3) Subtracts d.count() days from wd. Equivalent to return wd + -d;
4) If wd1.ok() and wd2.ok() are both true, returns a std::chrono::days value d such that d.count() is in the range [0, 6] and wd2 + d == wd1. Otherwise the returned value is unspecified.

Return value

1-3) A std::chrono::weekday holding a weekday value calculated as described above.
4) A std::chrono::days representing the distance between wd1 and wd2.


As long as the computation doesn't overflow, (1-3) always return a valid weekday even if wd.ok() is false.


 This section is incomplete
 Reason: no example

See also

operator++ increments or decrements the weekday
operator++(int) (public member function)
                adds or subtracts a number of days
operator+= (public member function)