table of contents
std::chrono::month::operator++,std::chrono::month::operator--(3) | C++ Standard Libary | 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)
2024.06.10 | http://cppreference.com |