std::literals::chrono_literals::operator""ns
From cppreference.com
C++
Date and time library
Time point | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Duration | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Clocks | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time of day | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Calendar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time zone | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
chrono I/O | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++20) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C-style date and time |
std::chrono::duration
Member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non-member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Helper classes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Defined in header <chrono>
|
||
constexpr
std::chrono::nanoseconds
operator""ns( unsigned long long nsec ) ; |
(1) | (since C++14) |
constexpr
std::chrono::duration
<
/*unspecified*/, std::nano
>
operator""ns( long double nsec ) ; |
(2) | (since C++14) |
Forms a std::chrono::duration literal representing nanoseconds.
1) Integer literal, returns exactly
std::chrono::nanoseconds
(nsec)
2) Floating-point literal, returns a floating-point duration equivalent to std::chrono::nanoseconds.
Parameters
nsec | - | the number of nanoseconds |
Return value
The std::chrono::duration literal.
Possible implementation
constexpr std::chrono::nanoseconds operator""ns(unsigned long long ns) { return std::chrono::nanoseconds(ns); } constexpr std::chrono::duration<long double, std::nano> operator""ns(long double ns) { return std::chrono::duration<long double, std::nano>(ns); } |
Notes
This operator is declared in the namespace std::literals::chrono_literals, where both literals and chrono_literals are inline namespaces
- 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
Example
Run this code
#include <chrono> #include <iostream> int main() { using namespace std::chrono_literals; auto d1{250ns}; std::chrono::nanoseconds d2{1us}; std::cout << d1 << " = " << d1.count() << " nanoseconds\n" << d2 << " = " << d2.count() << " nanoseconds\n"; }
Output:
250ns = 250 nanoseconds 1000ns = 1000 nanoseconds
See also
constructs new duration (public member function of std::chrono::duration<Rep,Period> ) |