std::chrono::ceil(std::chrono::duration)
De cppreference.com
| Definido en el archivo de encabezado <chrono>
|
||
template <class ToDuration, class Rep, class Period>
constexpr ToDuration ceil(const std::chrono::duration<Rep, Period>& d);
|
(desde C++17) | |
Devuelve la duración más pequeña t representable en ToDuration que es mayor o igual a d.
La función no participa en la resolución de sobrecarga a menos que ToDuration sea una especialización de std::chrono::duration.
Parámetros
| d | - | Duración a convertir. |
Valor de retorno
d Redondeada hacia arriba a una duración de tipo ToDuration.
Posible implementación
namespace detail {
template<class> inline constexpr bool is_duration_v = false;
template<class Rep, class Period> inline constexpr bool is_duration_v<
std::chrono::duration<Rep, Period>> = true;
}
template <class To, class Rep, class Period,
class = std::enable_if_t<detail::is_duration_v<To>>>
constexpr To ceil(const std::chrono::duration<Rep, Period>& d)
{
To t = std::chrono::duration_cast<To>(d);
if (t < d)
return t + To{1};
return t;
}
|
Ejemplo
Ejecuta este código
#include <iostream>
#include <chrono>
int main()
{
using namespace std::chrono_literals;
using Min = std::chrono::minutes;
std::cout
<< std::showpos
<< "ceil(+2.4min) = " << std::chrono::ceil<Min>(+2.4min).count() << "min\n"
<< "ceil(-2.4min) = " << std::chrono::ceil<Min>(-2.4min).count() << "min\n"
<< "ceil(+0.0min) = " << std::chrono::ceil<Min>(+0.0min).count() << "min\n";
}
Salida:
ceil(+2.4min) = +3min
ceil(-2.4min) = -2min
ceil(+0.0min) = +0min
Véase también
(C++11) |
Convierte una duración a otra, con un intervalo de tic diferente. (plantilla de función) |
(C++17) |
Convierte una duración a otra, redondeando hacia abajo. (plantilla de función) |
(C++17) |
Convierte una duración a otra, redondeando al más cercano, se empata con par. (plantilla de función) |
| Convierte un punto de tiempo a otro, redondeando hacia arriba (techo). (plantilla de función) | |
(C++11)(C++11) |
Entero más cercano entero no menor que el valor dado. (función) |