duration_round
duration_round (반올림 변환)
std::chrono::round는 기간을 다른 단위로 반올림 변환해요. ToDuration으로 표현 가능한 d에 가장 가까운 기간을 반환해요.
출처: cppreference
본문
std::chrono::round는 <chrono> 헤더에 정의된 함수 템플릿이에요. C++17부터 사용 가능해요.
template< class ToDuration, class Rep, class Period >
constexpr ToDuration round( const std::chrono::duration<Rep, Period>& d );
ToDuration으로 표현 가능한, d와 가장 가까운 값 t를 반환해요. 두 값이 똑같이 가까우면 짝수 값(즉 t % 2 == 0인 값)을 반환해요 (banker's rounding). ToDuration이 std::chrono::duration의 특수화일 때만 오버로드 해석에 참여해요.
반환값 (Return value)
d를 ToDuration으로 반올림 변환한 값이에요.
예제 (Example)
#include <chrono>
#include <iostream>
int main()
{
using namespace std::chrono;
std::cout << round<seconds>(milliseconds{1500}).count() << '\n'; // 2
std::cout << round<seconds>(milliseconds{1200}).count() << '\n'; // 1
}