std::chrono:: abs (std::chrono::duration)
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helper classes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
헤더 파일에 정의됨
<chrono>
|
||
|
template
<
class
Rep,
class
Period
>
constexpr std:: chrono :: duration < Rep, Period > abs ( std:: chrono :: duration < Rep, Period > d ) ; |
(C++17부터) | |
지속 시간의 절대값을 반환합니다 d . 구체적으로, d >= d. zero ( ) 인 경우 d 를 반환하고, 그렇지 않으면 - d 를 반환합니다.
이 함수는 다음 조건이 충족되지 않는 한 오버로드 해결에 참여하지 않습니다: std:: numeric_limits < Rep > :: is_signed 가 true 인 경우.
목차 |
매개변수
| d | - | duration |
반환값
d 의 절댓값.
가능한 구현
template<class Rep, class Period, class = std::enable_if_t<std::numeric_limits<Rep>::is_signed>> constexpr std::chrono::duration<Rep, Period> abs(std::chrono::duration<Rep, Period> d) { return d >= d.zero() ? +d : -d} |
예제
#include <chrono> #include <iostream> 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'; }
출력:
abs(+3min) = 3 abs(-3min) = 3
참고 항목
|
단항 + 및 단항 - 연산자 구현
(public member function) |
|
|
(C++11)
|
정수 값의 절대값 계산 (
\(\small{|x|}\)
|x|
)
(function) |