Espacios de nombres
Variantes
Acciones

Archivo de encabezado de la biblioteca estándar <chrono>

De cppreference.com
< cpp‎ | header
 
 
Archivos de encabezado de la biblioteca estándar
 

Este archivo de encabezado es parte de la biblioteca de fecha y hora.

Contenido

[editar]Clases

Definido en el espacio de nombres std::chrono
(C++11)
Un intervalo de tiempo.
(plantilla de clase)[editar]
Tiempo de pared a partir del reloj de tiempo real a lo largo del sistema.
(clase)[editar]
Reloj monotónico que nunca será ajustado.
(clase)[editar]
El reloj con mayor precisión disponible en el sistema.
(clase)[editar]
(C++11)
Un punto de tiempo.
(plantilla de clase)[editar]
Indica que una duración es convertible a una duración con un período de tic distinto.
(plantilla de clase)
Construye valores cero, mínimo y máximo de una cuenta de tics del tipo dado.
(plantilla de clase)
(C++20)
Representa una zona horaria.
(clase)[editar]
Excepción lanzada para reportar que una hora local no existe.
(clase)[editar]
Excepción lanzada para informar que una hora local es ambigua.
(clase)[editar]
Definiciones de tipo convenientes
Definido en el espacio de nombres std::chrono
std::chrono::nanoseconds Tipo de duración con período std::nano
std::chrono::microseconds Tipo de duración con período std::micro
std::chrono::milliseconds Tipo de duración con período std::milli
std::chrono::seconds Tipo de duración con período std::ratio<1>
std::chrono::minutes Tipo de duración con período std::ratio<60>
std::chrono::hours Tipo de duración con período std::ratio<3600>
std::chrono::days Tipo de duración con período std::ratio<86400>
std::chrono::weeks Tipo de duración con período std::ratio<604800>
std::chrono::months Tipo de duración con período std::ratio<2629746>
std::chrono::years Tipo de duración con período std::ratio<31556952>
Especializaciones
Definido en el espacio de nombres std
Especializa el rasgo std::common_type.
(especialización de plantilla de clase)[editar]
Especializa el rasgo std::common_type.
(especialización de plantilla de clase)[editar]

[editar]Funciones

Duración
Definido en el espacio de nombres std::chrono
Implementa operaciones aritméticas con duraciones como argumentos.
(plantilla de función)[editar]
(C++11)(C++11)(eliminado en C++20)(C++11)(C++11)(C++11)(C++11)(C++20)
Compara dos duraciones.
(plantilla de función)[editar]
Convierte una duración a otra, con un intervalo de tic diferente.
(plantilla de función)[editar]
Convierte una duración a otra, redondeando hacia abajo.
(plantilla de función)[editar]
Convierte una duración a otra, redondeando hacia arriba.
(plantilla de función)[editar]
Convierte una duración a otra, redondeando al más cercano, se empata con par.
(plantilla de función)[editar]
Obtiene el valor absoluto de la duración.
(plantilla de función)[editar]
Punto de tiempo
Definido en el espacio de nombres std::chrono
Realiza operaciones de suma y resta que involucran un punto de tiempo.
(plantilla de función)[editar]
Compara dos puntos de tiempo.
(plantilla de función)[editar]
Convierte un punto de tiempo a otro punto de tiempo en el mismo reloj, con una duración diferente.
(plantilla de función)[editar]
Convierte un punto de tiempo a otro, redondeando hacia abajo (piso).
(plantilla de función)[editar]
Convierte un punto de tiempo a otro, redondeando hacia arriba (techo).
(plantilla de función)[editar]
Convierte un punto de tiempo a otro, redondeando al más cercano, se empata con par.
(plantilla de función)[editar]
Literales
Definido en el espacio de nombres std::literals::chrono_literals
Un literal std::chrono::duration que representa horas.
(función)[editar]
Un literal std::chrono::duration que representa minutos.
(función)[editar]
Un literal std::chrono::duration que representa segundos.
(función)[editar]
Un literal std::chrono::duration que representa milisegundos.
(función)[editar]
Un literal std::chrono::duration que representa microsegundos.
(función)[editar]
Un literal std::chrono::duration que representa nanosegundos.
(función)[editar]
Un literal std::chrono::day que representa un día de un mes.
(función)[editar]
Un literal std::chrono::year que representa un año en particular.
(función)[editar]

[editar]Sinopsis

namespace std {namespace chrono {// plantilla de clase durationtemplate<class Rep, class Period = ratio<1>>class duration;// plantilla de clase time_pointtemplate<class Clock, class Duration =typename Clock::duration>class time_point;}// especializaciones de common_typetemplate<class Rep1, class Period1, class Rep2, class Period2>struct common_type<chrono::duration<Rep1, Period1>, chrono::duration<Rep2, Period2>>;template<class Clock, class Duration1, class Duration2>struct common_type<chrono::time_point<Clock, Duration1>, chrono::time_point<Clock, Duration2>>;namespace chrono {// rasgos de personalizacióntemplate<class Rep>struct treat_as_floating_point;template<class Rep>struct duration_values;template<class Rep>constexprbool treat_as_floating_point_v = treat_as_floating_point<Rep>::value;// aritmética de durationtemplate<class Rep1, class Period1, class Rep2, class Period2> common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>constexpr operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);template<class Rep1, class Period1, class Rep2, class Period2> common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>constexpr operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);template<class Rep1, class Period, class Rep2> duration<common_type_t<Rep1, Rep2>, Period>constexpr operator*(const duration<Rep1, Period>& d, const Rep2& s);template<class Rep1, class Rep2, class Period> duration<common_type_t<Rep1, Rep2>, Period>constexpr operator*(const Rep1& s, const duration<Rep2, Period>& d);template<class Rep1, class Period, class Rep2> duration<common_type_t<Rep1, Rep2>, Period>constexpr operator/(const duration<Rep1, Period>& d, const Rep2& s);template<class Rep1, class Period1, class Rep2, class Period2> common_type_t<Rep1, Rep2>constexpr operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);template<class Rep1, class Period, class Rep2> duration<common_type_t<Rep1, Rep2>, Period>constexpr operator%(const duration<Rep1, Period>& d, const Rep2& s);template<class Rep1, class Period1, class Rep2, class Period2> common_type_t<duration<Rep1, Period1>, duration<Rep2, Period2>>constexpr operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);// comparaciones de durationtemplate<class Rep1, class Period1, class Rep2, class Period2>constexprbool operator==(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);template<class Rep1, class Period1, class Rep2, class Period2>constexprbool operator!=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);template<class Rep1, class Period1, class Rep2, class Period2>constexprbool operator<(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);template<class Rep1, class Period1, class Rep2, class Period2>constexprbool operator<=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);template<class Rep1, class Period1, class Rep2, class Period2>constexprbool operator>(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);template<class Rep1, class Period1, class Rep2, class Period2>constexprbool operator>=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);// conversiones duration_casttemplate<class ToDuration, class Rep, class Period>constexpr ToDuration duration_cast(const duration<Rep, Period>& d);template<class ToDuration, class Rep, class Period>constexpr ToDuration floor(const duration<Rep, Period>& d);template<class ToDuration, class Rep, class Period>constexpr ToDuration ceil(const duration<Rep, Period>& d);template<class ToDuration, class Rep, class Period>constexpr ToDuration round(const duration<Rep, Period>& d);// definiciones de tipo convenientesusing nanoseconds = duration</*entero con signo de al menos 64 bits*/ , nano>;using microseconds = duration</*entero con signo de al menos 55 bits*/ , micro>;using milliseconds = duration</*entero con signo de al menos 45 bits*/ , milli>;using seconds = duration</*entero con signo de al menos 35 bits*/>;using minutes = duration</*entero con signo de al menos 29 bits*/ , ratio<60>>;using hours = duration</*entero con signo de al menos 23 bits*/ , ratio<3600>>;// aritmética de time_pointtemplate<class Clock, class Duration1, class Rep2, class Period2>constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>> operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);template<class Rep1, class Period1, class Clock, class Duration2>constexpr time_point<Clock, common_type_t<duration<Rep1, Period1>, Duration2>> operator+(const duration<Rep1, Period1>& lhs, const time_point<Clock, Duration2>& rhs);template<class Clock, class Duration1, class Rep2, class Period2>constexpr time_point<Clock, common_type_t<Duration1, duration<Rep2, Period2>>> operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs);template<class Clock, class Duration1, class Duration2>constexpr common_type_t<Duration1, Duration2> operator-(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);// comparaciones de time_pointtemplate<class Clock, class Duration1, class Duration2>constexprbool operator==(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);template<class Clock, class Duration1, class Duration2>constexprbool operator!=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);template<class Clock, class Duration1, class Duration2>constexprbool operator<(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);template<class Clock, class Duration1, class Duration2>constexprbool operator<=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);template<class Clock, class Duration1, class Duration2>constexprbool operator>(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);template<class Clock, class Duration1, class Duration2>constexprbool operator>=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);// time_point_casttemplate<class ToDuration, class Clock, class Duration>constexpr time_point<Clock, ToDuration> time_point_cast(const time_point<Clock, Duration>& t);template<class ToDuration, class Clock, class Duration>constexpr time_point<Clock, ToDuration> floor(const time_point<Clock, Duration>& tp);template<class ToDuration, class Clock, class Duration>constexpr time_point<Clock, ToDuration> ceil(const time_point<Clock, Duration>& tp);template<class ToDuration, class Clock, class Duration>constexpr time_point<Clock, ToDuration> round(const time_point<Clock, Duration>& tp);// algoritmos especializadostemplate<class Rep, class Period>constexpr duration<Rep, Period> abs(duration<Rep, Period> d);// relojesclass system_clock;class steady_clock;class high_resolution_clock;}inlinenamespace literals {inlinenamespace chrono_literals {// sufijos para los literales de durationconstexpr chrono::hours operator "" h(unsignedlonglong);constexpr chrono::duration</*no especificado*/, ratio<3600,1>> operator "" h(longdouble);constexpr chrono::minutes operator "" min(unsignedlonglong);constexpr chrono::duration</*no especificado*/, ratio<60,1>> operator "" min(longdouble);constexpr chrono::seconds operator "" s(unsignedlonglong);constexpr chrono::duration</*no especificado*/> operator "" s(longdouble);constexpr chrono::milliseconds operator "" ms(unsignedlonglong);constexpr chrono::duration</*no especificado*/, milli> operator "" ms(longdouble);constexpr chrono::microseconds operator "" us(unsignedlonglong);constexpr chrono::duration</*no especificado*/, micro> operator "" us(longdouble);constexpr chrono::nanoseconds operator "" ns(unsignedlonglong);constexpr chrono::duration</*no especificado*/, nano> operator "" ns(longdouble);constexpr chrono::day operator""d(unsignedlonglong d)noexcept;constexpr chrono::year operator""y(unsignedlonglong y)noexcept;}}namespace chrono {usingnamespace literals::chrono_literals;}

[editar]std::chrono::treat_as_floating_point

template<class Rep>struct treat_as_floating_point : is_floating_point<Rep>{};

[editar]std::chrono::duration_values

template<class Rep>struct duration_values {public:staticconstexpr Rep zero();staticconstexpr Rep min();staticconstexpr Rep max();};

[editar]std::chrono::duration

template<class Rep, class Period = ratio<1>>class duration {public:using rep = Rep;using period = Period;private: rep rep_;// solo exposiciónpublic:// construcción/copia/destrucciónconstexpr duration()=default;template<class Rep2>constexprexplicit duration(const Rep2& r);template<class Rep2, class Period2>constexpr duration(const duration<Rep2, Period2>& d); ~duration()=default; duration(const duration&)=default; duration& operator=(const duration&)=default;// observadorconstexpr rep count()const;// aritméticaconstexpr duration operator+()const;constexpr duration operator-()const;constexpr duration& operator++();constexpr duration operator++(int);constexpr duration& operator--();constexpr duration operator--(int);constexpr duration& operator+=(const duration& d);constexpr duration& operator-=(const duration& d);constexpr duration& operator*=(const rep& rhs);constexpr duration& operator/=(const rep& rhs);constexpr duration& operator%=(const rep& rhs);constexpr duration& operator%=(const duration& rhs);// valores especialesstaticconstexpr duration zero();staticconstexpr duration min();staticconstexpr duration max();};

[editar]std::chrono::time_point

template<class Clock, class Duration =typename Clock::duration>class time_point {public:using clock = Clock;using duration = Duration;using rep =typename duration::rep;using period =typename duration::period;private: duration d_;// solo exposiciónpublic:// construcciónconstexpr time_point();// has value epochconstexprexplicit time_point(const duration& d);// lo mismo que time_point() + dtemplate<class Duration2>constexpr time_point(const time_point<clock, Duration2>& t);// observadorconstexpr duration time_since_epoch()const;// aritméticaconstexpr time_point& operator+=(const duration& d);constexpr time_point& operator-=(const duration& d);// valores especialesstaticconstexpr time_point min();staticconstexpr time_point max();};

[editar]std::chrono::system_clock

class system_clock {public:using rep =/*véase descripción*/;using period = ratio</*no especificado*/, /*no especificado*/>;using duration = chrono::duration<rep, period>;using time_point = chrono::time_point<system_clock>;staticconstexprbool is_steady =/*no especificado*/;static time_point now()noexcept;// Relacionar con la API de Cstatic time_t to_time_t (const time_point& t)noexcept;static time_point from_time_t(time_t t)noexcept;};

[editar]std::chrono::steady_clock

class steady_clock {public:using rep =/*no especificado*/;using period = ratio</*no especificado*/, /*no especificado*/>;using duration = chrono::duration<rep, period>;using time_point = chrono::time_point</*no especificado*/, duration>;staticconstexprbool is_steady =true;static time_point now()noexcept;};

[editar]std::chrono::high_resolution_clock

class high_resolution_clock {public:using rep =/*no especificado*/;using period = ratio</*no especificado*/, /*no especificado*/>;using duration = chrono::duration<rep, period>;using time_point = chrono::time_point</*no especificado*/, duration>;staticconstexprbool is_steady =/*no especificado*/;static time_point now()noexcept;};
close