- chrono[meta header]
- std::chrono[meta namespace]
- function[meta id-type]
- cpp17[meta cpp]
namespace std::chrono {
template <class Rep, class Period>
constexpr duration<Rep, Period> abs(duration<Rep, Period> d);
}
絶対値を求める。
return d >= d.zero() ? d : -d;
- d.zero()[link zero.md]
numeric_limits
<Rep>::is_signed == true
でない場合、この関数はオーバーロード解決の候補から外れる
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
seconds s{-123};
seconds result = abs(s);
std::cout << result.count() << std::endl;
}
- abs[color ff0000]
- seconds[link /reference/chrono/seconds.md]
- result.count()[link count.md]
123
- C++17
- GCC, C++17 mode: 7.3
- Clang, C++17 mode: 3.8
- Visual C++: ??