std::literals::chrono_literals::operator""y
From cppreference.com
Defined in header <chrono>
|
||
constexpr std::chrono::year operator ""y( unsigned long long y ) noexcept; |
(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, or
- 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
Run this code
#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 ) |