std::literals::chrono_literals::operator""y
Defined in header <chrono>
|
||
constexpr std::chrono::year operator ""y(unsigned long long y) noexcept; |
(1) | (since C++20) |
Forms a std::chrono::year literal representing a year in the proleptic Gregorian calendar.
Parameters
y | - | the year value |
Return value
A std::chrono::year initialized from int(y). If y
is not in the range [-32767, 32767]
, the stored value is unspecified.
Possible implementation
constexpr std::chrono::year operator ""y(unsigned long long y) noexcept { return std::chrono::year(static_cast<int>(y)); } |
Notes
This operator is declared in the namespace std::literals::chrono_literals
, where both literals
and chrono_literals
are inline namespaces. Access to this operator can be gained with using namespace std::literals, using namespace std::chrono_literals, and using namespace std::literals::chrono_literals.
In addition, within the namespace std::chrono
, the directive using namespace literals::chrono_literals; is provided by the standard library, so that if a programmer uses using namespace std::chrono; to gain access to the classes in the chrono library, the corresponding literal operators become visible as well.
Example
#include <iostream> #include <chrono> int main() { using namespace std::literals; std::cout << int(2020y) << ' ' << int(-220y) << ' ' << int(3000y) << ' ' << int(32768y) << ' ' // unspecified << int(65578y) << '\n'; // unspecified }
Possible output:
2020 -220 3000 -32768 42
See also
constructs a year (public member function of std::chrono::year ) |