Espacios de nombres
Variantes
Acciones

std::chrono::ceil(std::chrono::time_point)

De cppreference.com
< cpp‎ | chrono‎ | time point
 
 
Biblioteca de servicios
 
 
 
Definido en el archivo de encabezado <chrono>
template<class ToDuration, class Clock, class Duration>

constexprstd::chrono::time_point<Clock, ToDuration>

    ceil(conststd::chrono::time_point<Clock, Duration>& tp);
(desde C++17)

Devuelve el punto de tiempo más pequeño t representable en ToDuration que es mayor o igual a tp.

La función no participa en la resolución de sobrecarga a menos que ToDuration sea una especialización de std::chrono::duration.

Contenido

[editar]Parámetros

tp - Punto de tiempo para redondear hacia arriba (techo).

[editar]Valor de retorno

d redondeada hacia arriba (techo) al siguiente punto de tiempo utilizando la duración de tipo ToDuration.

[editar]Posible implementación

namespace detail {template<class>inlineconstexprbool is_duration_v =false;template<class Rep, class Period>inlineconstexprbool is_duration_v<std::chrono::duration<Rep, Period>>=true;}   template<class To, class Clock, class FromDuration, class=std::enable_if_t<detail::is_duration_v<To>>>constexprstd::chrono::time_point<Clock, To> ceil(conststd::chrono::time_point<Clock, FromDuration>& tp){returnstd::chrono::time_point<Clock, To>{std::chrono::ceil<To>(tp.time_since_epoch())};}

[editar]Ejemplo

#include <iostream>#include <chrono>#include <string>   template<typename TimePoint>std::string to_string(const TimePoint& time_point){returnstd::to_string(time_point.time_since_epoch().count());}   int main(){usingnamespace std::literals::chrono_literals;using Sec =std::chrono::seconds;   std::cout<<"Punto de tiempo\t""Conversión\t""Piso\t""Redondeo\t""Techo\n";std::cout<<"(ms)\t\t""(s)\t\t""(s)\t""(s)\t\t""(s)\n";for(constauto value_ms:{5432ms, 5678ms}){std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds> time_point_ms(value_ms);   std::cout<< to_string(time_point_ms)<<"\t\t"<< to_string(std::chrono::time_point_cast<Sec>(time_point_ms))<<"\t\t"<< to_string(std::chrono::floor<Sec>(time_point_ms))<<"\t"<< to_string(std::chrono::round<Sec>(time_point_ms))<<"\t\t"<< to_string(std::chrono::ceil<Sec>(time_point_ms))<<"\n";}}

Salida:

Punto de tiempo Conversión Piso Redondeo Techo (ms) (s) (s) (s) (s) 5432 5 5 5 6 5678 5 5 5 6

[editar]Véase también

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 al más cercano, se empata con par.
(plantilla de función)[editar]
Convierte una duración a otra, redondeando hacia arriba.
(plantilla de función)[editar]
(C++11)(C++11)
Entero más cercano entero no menor que el valor dado.
(función)[editar]
close