std::literals::chrono_literals::operator""ns
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <chrono>
|
||
constexpr std::chrono::nanoseconds operator "" ns(unsigned long long nsec); |
(1) | (начиная с C++14) |
constexpr std::chrono::duration</*не определено*/, std::nano> operator "" ns(long double nsec); |
(2) | (начиная с C++14) |
Формирует литерал std::chrono::duration, представляющий наносекунды.
1) Целочисленный литерал, возвращает ровно
std::chrono::nanoseconds(nsec).2) Литерал с плавающей запятой, возвращает длительность с плавающей запятой, эквивалентную std::chrono::nanoseconds.
Параметры
| nsec | — | количество наносекунд |
Возвращаемое значение
Литерал std::chrono::duration.
Возможная реализация
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);
}
|
Примечание
Этот оператор объявлен в пространстве имён std::literals::chrono_literals, где и literals, и chrono_literals это встроенные пространства имён. Доступ к этому оператору можно получить с помощью:
using namespace std::literals,using namespace std::chrono_literals, илиusing namespace std::literals::chrono_literals.
Кроме того, в пространстве имён std::chrono стандартная библиотека предоставляет директиву using namespace literals::chrono_literals;, поэтому, если программист использует using namespace std::chrono; чтобы получить доступ к классам в библиотеке chrono, соответствующие литеральные операторы также становятся видимыми.
Пример
Запустить этот код
#include <iostream>
#include <chrono>
int main()
{
using namespace std::chrono_literals;
auto d1 = 250ns;
std::chrono::nanoseconds d2 = 1us;
std::cout << "250нс = " << d1.count() << " наносекунд\n"
<< "1мкс = " << d2.count() << " наносекунд\n";
}
Вывод:
250нс = 250 наносекунд
1мкс = 1000 наносекунд
Смотрите также
| строит новый duration (public функция-элемент std::chrono::duration<Rep,Period>)
|