duration 클래스

1분, 2시간, 10밀리초 등의 시간 범위를 측정합니다.

A duration시간 단위의 틱 수인 시간 간격을 보유합니다. 예를 들어 5분은 5개의 틱이며 각 틱은 1분 간격입니다. 42초는 42틱이며 각 틱은 1초 간격입니다.

구문

template <class Rep, class Period> class duration;
template <class Rep, class Period = ratio<1>> class duration;
template <class Rep, class Period1, class Period2> class duration <duration<Rep, Period1>, Period2>;

설명

템플릿 인수 Rep는 간격에 클록 틱 수를 포함하는 데 사용되는 형식을 설명합니다. 템플릿 인수 Period 는 각 틱이 나타내는 간격의 크기를 설명하는 인스턴스화 ratio 입니다.

멤버

생성자

이름 설명
duration duration 개체를 생성합니다.

함수

속성 설명
count 시간 간격의 클록 틱 수를 반환합니다.
max 정적. 템플릿 매개 변수 Rep의 최대 허용 값을 반환합니다.
min 정적. 템플릿 매개 변수 Rep의 최저 허용 값을 반환합니다.
zero 정적. 실제로 Rep(0)를 반환합니다.

연산자

이름 설명
duration::operator- 틱 수가 부정된 개체의 duration 복사본을 반환합니다.
duration::operator-- 저장된 틱 개수를 줄입니다.
duration::operator-= 저장된 틱 수에서 지정된 duration 틱 수를 뺍니다.
duration::operator+ *this을(를) 반환합니다.
duration::operator++ 저장된 틱 개수를 늘립니다.
duration::operator+= 지정된 duration 틱 수를 저장된 틱 수에 추가합니다.
duration::operator= 한 기간을 다른 기간에 할당합니다.
duration::operator*= 저장된 틱 개수에 지정된 값을 곱합니다.
duration::operator/= 저장된 틱 개수를 지정된 duration 개체의 틱 개수로 나눕니다.
duration::operator%= 저장된 틱 개수 모듈로를 지정된 값으로 줄입니다.

비멤버

함수 템플릿

이름 설명
abs 의 절대값을 반환합니다 duration.
ceil 지정된 duration값보다 크거나 같은 가장 작은 표현 가능 duration 값을 반환합니다.
duration_cast 개체를 duration 지정된 대상 duration 형식으로 캐스팅합니다.
floor 지정된 duration값보다 작거나 같은 가장 큰 표현 가능 duration 값을 반환합니다.
from_stream 지정된 형식을 duration 사용하여 지정된 스트림에서 구문 분석합니다.
round 지정된 duration 항목을 대상 형식에서 가장 가까운 표현 가능 duration 항목으로 반올림합니다.

연산자

이름 설명
operator+ 공통 형식에 추가되는 기간을 변환한 후 변환된 틱 수의 합계와 같은 틱 수를 반환 duration 합니다.
operator- 빼는 기간을 공통 형식으로 변환한 후 LHSduration의 틱 수에서 뺀 RHS duration 의 틱 수와 동일한 틱 수를 반환 duration 합니다.
operator* 공통 형식으로 곱하는 기간을 변환한 후 변환된 틱 개수의 곱하기와 같은 틱 수를 반환 duration 합니다.
operator/ 공통 형식으로 분할되는 기간을 변환한 후 변환된 틱 개수의 나누기와 같은 틱 수를 반환 duration 합니다.
operator% 및 제수를 공통 형식으로 변환 duration 한 후 나누기의 re기본der와 같은 틱 수를 반환 duration 합니다.
operator== 공통 형식과 duration 비교되는 형식을 변환한 후 틱 수가 같은지 확인합니다.
operator!= 다른 항목과 같지 않은지 확인 duration 합니다.
operator< 하나가 duration 다른 것보다 작은지 확인합니다.
operator<= 한 항목 duration 이 다른 항목보다 작거나 같은지 확인합니다.
operator> 하나는 duration 다른 것보다 큰지 확인합니다.
operator>= 하나는 duration 다른 것보다 크거나 같은지 확인합니다.
operator<=> duration 다른 duration것과 비교합니다. >, >=, <=, <, != 연산자는 컴파일러에 의해 합성됩니다.
operator<< 지정된 스트림에 출력 duration 합니다.

편의 유형 별칭

이름 설명
duration::period 템플릿 매개 변수 Period의 동의어.
duration::rep 템플릿 매개 변수 Rep의 동의어.

요구 사항

헤더<chrono>:

네임스페이스:std::chrono

duration::count

시간 간격의 클록 틱 수를 검색합니다.

constexpr Rep count() const;

반환 값

시간 간격의 클록 틱 수입니다.

duration::duration 생성자

duration 개체를 생성합니다.

1) constexpr duration() = default;
2) constexpr duration(const duration& d) = default;

3) template <class Rep2>
constexpr explicit duration(const Rep2& R);

4) template <class Rep2, class Period2>
constexpr duration(const duration<Rep2, Period2>& Dur);

매개 변수

Dur
Period2로 지정되는 기간의 틱 수입니다.

Period2
틱 기간(초)을 나타내는 std::ratio 템플릿 특수화입니다.

R
기본 기간의 틱 수입니다.

Rep2
틱 수를 나타내는 산술 형식입니다.

설명

1) 기본 생성자는 초기화되지 않은 개체를 생성합니다. 빈 중괄호를 사용한 값 초기화는 0 클록 틱의 시간 간격을 나타내는 개체를 초기화합니다.

2) 복사 생성자가 .의 비트 복사본을 d만듭니다.

3) 기본 기간을 std::ratio<1>사용하여 클록 틱의 R 시간 간격을 나타내는 개체를 생성합니다. 틱 개수의 반올림을 방지하기 위해 부동 소수점 형식으로 처리할 수 없는 경우 duration::rep 부동 소수점 형식으로 처리할 수 있는 표현 형식 Rep2 에서 기간 개체를 생성하는 것은 오류입니다.

4) 길이가 지정된 시간 간격인 시간 간격을 나타내는 개체를 생성 Dur합니다. 틱 개수의 잘림을 방지하기 위해 대상 형식과 호환되지 않는 형식의 다른 기간 개체에서 기간 개체를 생성하는 것은 오류입니다.

지속 시간 형식 D1부동 소수점 형식 D2 으로 처리할 수 없고 D1:ratio_divide :p eriod, D2::p<eriod>::type::d en이 1이 아닌 경우 D2 다른 기간 형식과 함께 사용할 수 없습니다.

암시적으로 변환할 수 있고treat_as_floating_point<rep> true이거나 treat_as_floating_point<Rep2>falserep 보유하지 않는 한 Rep2 두 번째 생성자는 오버로드 확인에 참여하지 않습니다. 자세한 내용은 type_traits> 참조<하세요.

변환 treat_as_floating_point<rep>에서 오버플로가 유도되지 않고 true이거나 둘 다 ratio_divide<Period2, period>::den 1과 같고 treat_as_floating_point<Rep2>false를 보유하지 않는 한 세 번째 생성자는 오버로드 확인에 참여하지 않습니다. 자세한 내용은 type_traits> 참조<하세요.

예: duration 만들기

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    // create a duration that tracks ticks as 1/10ths of a second
    duration<int, std::ratio<1, 10>> tenths{ 5 };
    std::cout << tenths << '\n';

    hours h{12}; // hours is a convenience duration typedef 
    auto h2 = 3h; // 'h' is a convenience operator. h2 is a duration<int, std::ratio<3600,1>>

    std::cout << h << ":" << h2 << '\n';

    return 0;
}
5ds
3h:3h

duration::max

템플릿 매개 변수 형식 Rep의 값에 대한 상한을 반환하는 정적 메서드입니다.

static constexpr duration max();

반환 값

실제로 duration(duration_values<rep>::max())를 반환합니다.

duration::min

템플릿 매개 변수 형식 Rep의 값에 대한 하한을 반환하는 정적 메서드입니다.

static constexpr duration min();

반환 값

실제로 duration(duration_values<rep>::min())를 반환합니다.

duration::operator-

틱 수가 부정된 개체의 duration 복사본을 반환합니다.

constexpr duration operator-() const;

duration::operator--

저장된 틱 개수를 줄입니다.

1) duration& operator--();
2) duration operator--(int);

반환 값

1) 반환합니다 *this. 2) 감소 전의 *this 복사본을 반환합니다.

duration::operator%=

저장된 틱 개수 모듈로를 지정된 값으로 줄입니다.

1) duration& operator%=(const rep& Div);
2) duration& operator%=(const duration& Div);

매개 변수

Div
1) Div 틱 수입니다. 2) Divduration 틱 수를 포함하는 a.

반환 값

duration 모듈로 작업이 완료된 후의 개체입니다.

duration::operator*=

저장된 틱 개수에 지정된 값을 곱합니다.

duration& operator*=(const rep& Mult);

매개 변수

Mult
duration::rep로 지정된 형식의 값입니다.

반환 값

duration 곱하기가 완료된 후의 개체입니다.

duration::operator/=

저장된 틱 개수를 지정된 값으로 나눕니다.

duration& operator/=(const rep& Div);

매개 변수

Div
duration::rep로 지정된 형식의 값입니다.

반환 값

duration 나누기를 완료한 후의 개체입니다.

duration::operator+

*this을(를) 반환합니다.

constexpr duration operator+() const;

반환 값

*this

duration::operator++

저장된 틱 개수를 늘립니다.

1) duration& operator++();
2) duration operator++(int);

반환 값

1) 반환합니다 *this. 2) 증분 전의 *this 복사본을 반환합니다.

duration::operator+=

지정된 duration 개체의 틱 개수를 저장된 틱 개수에 더합니다.

duration& operator+=(const duration& Dur);

매개 변수

Dur
duration 개체입니다.

반환 값

duration 추가가 완료된 후의 개체입니다.

duration::operator-=

지정된 duration 개체의 틱 개수를 저장된 틱 개수에서 뺍니다.

duration& operator-=(const duration& Dur);

매개 변수

Dur
duration 개체입니다.

반환 값

duration 빼기를 완료한 후의 개체입니다.

duration::zero

duration(duration_values<rep>::zero())을(를) 반환합니다.

static constexpr duration zero();

duration::operator=

한 기간을 다른 기간에 할당합니다.

duration& operator=(const duration &other) = default;

매개 변수

other
복사할 개체입니다 duration .

반환 값

LHS duration 개체입니다.

참고 항목

<chrono>
편의 duration 형식 정의(예: minutes, seconds등)
시간, 분 등에 대한 편리한 리터럴
duration_values 구조체
헤더 파일 참조