close
Espacios de nombres
Variantes

std::literals::chrono_literals::operator""ns

De cppreference.com
 
 
Biblioteca de servicios
 
 
 
<tbody> </tbody>
Definido en el archivo de encabezado <chrono>
constexpr std::chrono::nanoseconds operator "" ns(unsigned long long nsec);
(1) (desde C++14)
constexpr std::chrono::duration/*no especificado*/, std::nano> operator "" ns(long double nsec);
(2) (desde C++14)

Forma un literal std::chrono::duration que representa nanosegundos.

1) Literal entero, devuelve exactamente std::chrono::nanoseconds(nsec).
2) Literal de punto flotante, devuelve una duración de punto flotante equivalente a std::chrono::nanoseconds.

Parámetros

nsec - El número de nanosegundos.

Valor de retorno

El literal std::chrono::duration.

Posible implementación

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);
}

Notas

Estos operadores están declarados en el espacio de nombres std::literals::chrono_literals, donde tanto literals como chrono_literals son espacios de nombres en línea. El acceso a estos operadores se puede obtener con using namespace std::literals, using namespace std::chrono_literals, y using namespace std::literals::chrono_literals.

Además, dentro del espacio de nombres std::chrono, la directiva using namespace literals::chrono_literals; se suministra por la biblioteca estándar, de modo que si un programador utiliza using namespace std::chrono; para obtener acceso a las clases en la biblioteca chrono, los operadores de literal correspondientes también se vuelven visibles.

Ejemplo

#include <iostream>
#include <chrono>

int main()
{
    using namespace std::chrono_literals;
    auto d1 = 250ns;
    std::chrono::nanoseconds d2 = 1us;
    std::cout << "250ns = " << d1.count() << " nanosegundos\n"
              << "1us = " << d2.count() << " nanosegundos\n";
}

Salida:

250ns = 250 nanosegundos
1us = 1000 nanosegundos

Véase también

Construye una nueva duración.
(función miembro pública de std::chrono::duration) [editar]