Aracılığıyla paylaş


duration sınıfı

Bir dakika, iki saat, on milisaniye gibi bir zaman aralığını ölçer.

, duration bir zaman birimindeki değer sayısı olan bir zaman aralığını tutar. Örneğin, beş dakika beş değerdir ve her biri bir dakika ayrıdır. 42 saniye 42 kenedir ve her biri birbirinden bir saniye ayrıdır.

Sözdizimi

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>;

Açıklamalar

Şablon bağımsız değişkeni Rep , aralıktaki saat işaretlerinin sayısını tutmak için kullanılan türü açıklar. Şablon bağımsız değişkeni Period , her bir değer çizgisinin ratio temsil ettiği aralığın boyutunu açıklayan bir örneğidir.

Üyeler

Oluşturucular

Veri Akışı Adı Açıklama
duration Bir duration nesne oluşturur.

İşlevler

Veri Akışı Adı Açıklama
count Zaman aralığındaki saat işaretlerinin sayısını döndürür.
max Duruk. şablon parametresinin Repizin verilen en yüksek değerini döndürür.
min Duruk. şablon parametresinin Repizin verilen en düşük değerini döndürür.
zero Duruk. Etkin olarak, döndürür Rep(0).

İşleçler

Veri Akışı Adı Açıklama
duration::operator- Nesnenin duration bir kopyasını, negatif değer sayısıyla döndürür.
duration::operator-- Depolanan değer sayısı azalmış.
duration::operator-= Belirtilen duration değer değerinin değer sayısını depolanan değer sayısından çıkarır.
duration::operator+ *this döndürür.
duration::operator++ Depolanan değer çizgisi sayısını artırır.
duration::operator+= Belirtilen duration değer değerinin değer sayısı değerini depolanan değer çizgisi sayısına ekler.
duration::operator= Bir süreyi diğerine atar.
duration::operator*= Depolanan değer sayısını belirtilen değerle çarpar.
duration::operator/= Depolanan değer çizgisi sayısını belirtilen duration nesnenin değer sayısıyla böler.
duration::operator%= Belirtilen değeri depolanmış değer sayısı modülesini azaltır.

Üye olmayanlar

İşlev şablonları

Veri Akışı Adı Açıklama
abs değerinin durationmutlak değerini döndürür.
ceil Belirtilen durationdeğerinden büyük veya buna eşit en küçük temsil edilebilir duration değeri döndürür.
duration_cast Bir duration nesneyi belirtilen hedef duration türüne dönüştürür.
floor Belirtilen durationdeğerinden küçük veya buna eşit olan en büyük temsil edilebilir duration değeri döndürür.
from_stream Belirtilen biçimi kullanarak verilen akıştan bir duration ayrıştırın.
round Belirtilen duration değeri hedef türdeki en yakın temsil edilebilir duration değere yuvarlar.

İşleçler

Veri Akışı Adı Açıklama
operator+ Eklenen süreleri ortak türlerine dönüştürdükten sonra, dönüştürülen değer sayısı toplamına eşit bir değer sayısı içeren bir duration döndürür.
operator- Çıkarılmakta olan süreleri ortak türlerine dönüştürdükten sonra, LHS'deki durationkene sayısından çıkarılan RHS'deki duration kene sayısına eşit bir değer sayısı içeren bir duration döndürür.
operator* Çarpılmakta olan süreleri ortak türlerine dönüştürdükten sonra, dönüştürülen değer çizgisi sayılarının çarpmasına eşit bir değer sayısı içeren bir duration döndürür.
operator/ Bölünen süreleri ortak türlerine dönüştürdükten sonra, dönüştürülen kene sayılarının bölünmesine eşit bir değer sayısı içeren bir duration döndürür.
operator% ve böleni duration ortak türüne dönüştürdükten sonra, bölmenin geri kalanına eşit bir değer sayısı içeren bir duration döndürür.
operator== Ortak türleriyle duration karşılaştırılan türleri dönüştürdükten sonra, kene sayısının eşit olup olmadığını belirler.
operator!= Başka bir değere eşit olup duration olmadığını belirleyin.
operator< Birinin diğerinden duration küçük olup olmadığını belirleyin.
operator<= Birinin diğerine duration eşit veya ondan küçük olup olmadığını belirleyin.
operator> Birinin diğerinden duration büyük olup olmadığını belirleyin.
operator>= Birinin diğerine duration eşit veya daha büyük olup olmadığını belirleyin.
operator<=> Birini diğerini duration karşılaştırın duration. İşleçler >, >=, <=, <, != derleyici tarafından sentezlenir.
operator<< Verilen akışa a duration çıkışı.

Kolaylık türü diğer adları

Veri Akışı Adı Açıklama
duration::period şablon parametresinin Periodeş anlamlısı.
duration::rep şablon parametresinin Repeş anlamlısı.

Gereksinimler

Üstbilgi: <chrono>

Ad alanı: std::chrono

duration::count

Zaman aralığındaki saat işaretlerinin sayısını alır.

constexpr Rep count() const;

Dönüş değeri

Zaman aralığındaki saat sayısı.

duration::duration Oluşturucu

Bir duration nesne oluşturur.

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);

Parametreler

Dur
tarafından Period2belirtilen sürenin onay işareti sayısı.

Period2
Saniye std::ratio cinsinden değer aralığını temsil eden bir şablon özelleştirmesi.

R
Varsayılan dönemdeki değer işaretlerinin sayısı.

Rep2
Kene sayısını temsil eden aritmetik bir tür.

Açıklamalar

1) Varsayılan oluşturucu başlatılmamış bir nesne oluşturur. Boş ayraçlar kullanarak değer başlatma, sıfır saat işaretlerinin zaman aralığını temsil eden bir nesne başlatır.

2) Kopya oluşturucu bit ddüzeyinde bir kopyasını oluşturur.

3) Varsayılan zaman aralığını std::ratio<1>kullanarak saat işaretlerinin zaman aralığını R temsil eden bir nesne oluşturur. Değer sayısı yuvarlamalarını önlemek için, kayan nokta türü olarak ele alınamadığında duration::rep kayan nokta türü Rep2 olarak ele alınabilecek bir gösterim türünden bir süre nesnesi oluşturmak bir hatadır.

4) Uzunluğu tarafından Durbelirtilen zaman aralığı olan bir zaman aralığını temsil eden bir nesne oluşturur. Kene sayılarının kesilmesini önlemek için, türü hedef türle ilişkilendirilemeyen başka bir süre nesnesinden süre nesnesi oluşturmak bir hatadır.

Kayan nokta türü D1 olarak işlenemiyorsa D2 ve D1::p<eriod, D2::p eriod>::type::d en 1 değil ratio_divide süre türü başka bir süre türüyle D2 birlikte kullanılamaz.

örtük olarak dönüştürülebilir rep olmadığı ve treat_as_floating_point<rep>true veya treat_as_floating_point<Rep2>false tutmadığı süreceRep2, ikinci oluşturucu aşırı yükleme çözümlemesine katılmaz. Daha fazla bilgi için bkz <. type_traits>.

Dönüştürmede taşma tetiklenmediği ve treat_as_floating_point<rep>true veya her ikisi de ratio_divide<Period2, period>::den 1'e eşit ve treat_as_floating_point<Rep2>false tutmadığı sürece, üçüncü oluşturucu aşırı yükleme çözümlemesine katılmaz. Daha fazla bilgi için bkz <. type_traits>.

Örnek: Oluşturma 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

Şablon parametre türündeki Repdeğerler için üst sınırı döndüren statik yöntem.

static constexpr duration max();

Dönüş değeri

Etkin olarak, döndürür duration(duration_values<rep>::max()).

duration::min

Şablon parametre türündeki Repdeğerler için alt sınırı döndüren statik yöntem.

static constexpr duration min();

Dönüş değeri

Etkin olarak, döndürür duration(duration_values<rep>::min()).

duration::operator-

Nesnenin duration bir kopyasını, negatif değer sayısıyla döndürür.

constexpr duration operator-() const;

duration::operator--

Depolanan değer sayısı azalmış.

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

Dönüş değeri

1) döndürür *this. 2) Azaltmadan önce bir *this kopyasını döndürür.

duration::operator%=

Belirtilen değeri depolanmış değer sayısı modülesini azaltır.

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

Parametreler

Div
1) Div bir kene sayısı. 2) Div duration değer sayısı içeren bir.

Dönüş değeri

duration Modül işlemi tamamlandıktan sonra nesne.

duration::operator*=

Depolanan değer sayısını belirtilen değerle çarpar.

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

Parametreler

Mult
tarafından duration::repbelirtilen türde bir değer.

Dönüş değeri

duration Çarpma işlemi tamamlandıktan sonra nesne.

duration::operator/=

Depolanan değer sayısını belirtilen değere böler.

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

Parametreler

Div
tarafından duration::repbelirtilen türde bir değer.

Dönüş değeri

duration Bölme tamamlandıktan sonra nesne.

duration::operator+

*this döndürür.

constexpr duration operator+() const;

Dönüş değeri

*this

duration::operator++

Depolanan değer çizgisi sayısını artırır.

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

Dönüş değeri

1) döndürür *this. 2) Artış öncesinde bir *this kopyasını döndürür.

duration::operator+=

Belirtilen duration bir nesnenin değer sayısı değerini depolanan değer çizgisi sayısına ekler.

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

Parametreler

Dur
Bir duration nesnesi.

Dönüş değeri

Ekleme duration tamamlandıktan sonra nesne.

duration::operator-=

Belirtilen duration bir nesnenin değer çizgisi sayısını depolanan değer sayısından çıkarır.

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

Parametreler

Dur
Bir duration nesnesi.

Dönüş değeri

Çıkarma duration işlemi tamamlandıktan sonra nesne.

duration::zero

duration(duration_values<rep>::zero()) döndürür.

static constexpr duration zero();

duration::operator=

Bir süreyi diğerine atar.

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

Parametreler

other
Kopyalanacak duration nesne.

Dönüş değeri

LHS duration nesnesi.

Ayrıca bkz.

<chrono>
, secondsve daha fazlası gibi minuteskolaylık duration türü tanımları
Saatler, dakikalar ve daha fazlası için kolaylık değişmez değerleri
duration_values yapı
Üst Bilgi Dosyaları Başvurusu