std::chrono::month::operator++,std::chrono::month::operator--(3)

NAME
std::chrono::month::operator++,std::chrono::month::operator-- - std::chrono::month::operator++,std::chrono::month::operator--

Synopsis
   constexpr std::chrono::month& operator++() noexcept; (1) (since C++20)
   constexpr std::chrono::month operator++( int ) noexcept; (2) (since C++20)
   constexpr std::chrono::month& operator--() noexcept; (3) (since C++20)
   constexpr std::chrono::month operator--( int ) noexcept; (4) (since C++20)
   Adds or subtracts 1 from the month value, reducing the result modulo 12 to an
   integer in the range [1, 12].
   1,2) Performs *this += std::chrono::months{1};.
   3,4) Performs *this -= std::chrono::months{1};.

Parameters
   (none)

Return value
   1,3) A reference to this month after modification.
   2,4) A copy of the month made before modification.

Notes
   After a call to one of these functions, ok() is always true.

Example
// Run this code
 #include <cassert>
 #include <chrono>
 #include <iostream>
 int main()
 {
     std::chrono::month m{6};
     ++m;
     assert(m == std::chrono::month(7));
     --m;
     assert(m == std::chrono::month(6));
     m = std::chrono::December;
     m++; // rounds up to January
     assert(m.ok());
     std::cout << unsigned(m) << '\n';
     m = std::chrono::January;
     m--; // rounds down to December
     assert(m.ok());
     std::cout << unsigned(m) << '\n';
 }

Output:
 1
 12

See also
   operator+= adds or subtracts a number of months
   operator-= (public member function)
   operator+ performs arithmetic on months
   operator- (function)
   (C++20)