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 한 후 나누기의 나머지 부분과 같은 틱 수를 반환 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>
false를 rep
보유하지 않는 한 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) Div
duration
틱 수를 포함하는 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
구조체
헤더 파일 참조