std::chrono::abs(std::chrono::duration)
De cppreference.com
| Definido en el archivo de encabezado <chrono>
|
||
template <class Rep, class Period>
constexpr std::chrono::duration<Rep, Period> abs( std::chrono::duration<Rep, Period> d );
|
(desde C++17) | |
Devuelve el valor absoluto de la duración d. Específicamente, si d >= d.zero(), devuelve d, de lo contrario, devuelve -d.
La función no participa en la resolución de sobrecarga a menos que std::numeric_limits<Rep>::is_signed sea true.
Parámetros
| d | - | Duración. |
Valor de retorno
Valor absoluto de d.
Posible implementación
template <class Rep, class Period, class = std::enable_if_t<
std::chrono::duration<Rep, Period>::min() < std::chrono::duration<Rep, Period>::zero()>>
constexpr std::chrono::duration<Rep, Period> abs(std::chrono::duration<Rep, Period> d)
{
return d >= d.zero() ? d : -d;
}
|
Ejemplo
Ejecuta este código
#include <iostream>
#include <chrono>
int main()
{
using namespace std::chrono;
static_assert(abs(-42s) == std::chrono::abs(42s));
std::cout << "abs(+3min) = " << abs(3min).count() << '\n'
<< "abs(-3min) = " << abs(-3min).count() << '\n';
}
Salida:
abs(+3min) = 3
abs(-3min) = 3
Véase también
| Implementa + unario y - unario. (función miembro pública) | |
(C++11) |
Calcula el valor absoluto de un valor entero (|x|) (función) |