Klasa duration

Mierzy przedział czasu, taki jak jedna minuta, dwie godziny, dziesięć milisekund itd.

Element duration zawiera przedział czasu, który jest liczbą znaczników w jednostce czasu. Na przykład pięć minut to pięć kleszczy, a każda z nich dzieli minutę. 42 sekundy to 42 kleszcze, z każdym kleszczem od siebie.

Składnia

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

Uwagi

Argument Rep szablonu opisuje typ używany do przechowywania liczby znaczników zegara w interwale. Argument Period szablonu to wystąpienie ratio , które opisuje rozmiar interwału reprezentowanego przez poszczególne znaczniki.

Członkowie

Konstruktory

Nazwa/nazwisko opis
duration duration Tworzy obiekt.

Funkcje

Nazwa/nazwisko opis
count Zwraca liczbę znaczników zegara w interwale czasu.
max Statyczne. Zwraca maksymalną dozwoloną wartość parametru Repszablonu .
min Statyczne. Zwraca najniższą dozwoloną wartość parametru Repszablonu .
zero Statyczne. W efekcie funkcja zwraca wartość Rep(0).

Operatory

Nazwa/nazwisko opis
duration::operator- Zwraca kopię duration obiektu z negowaną liczbą znaczników.
duration::operator-- Dekrementuje przechowywaną liczbę znaczników.
duration::operator-= Odejmuje liczbę znaczników określoną duration z przechowywanej liczby znaczników.
duration::operator+ Zwraca wartość *this.
duration::operator++ Zwiększa przechowywaną liczbę znaczników.
duration::operator+= Dodaje liczbę znaczników określonej duration do przechowywanej liczby znaczników.
duration::operator= Przypisuje jeden czas trwania do innego.
duration::operator*= Mnoży przechowywaną liczbę znaczników przez określoną wartość.
duration::operator/= Dzieli przechowywaną liczbę znaczników według liczby znaczników określonego duration obiektu.
duration::operator%= Zmniejsza składowane modulo liczby znaczników o określonej wartości.

Inne niż elementy członkowskie

Szablony funkcji

Nazwa/nazwisko opis
abs Zwraca wartość bezwzględną .duration
ceil Zwraca najmniejszą reprezentację duration , która jest większa lub równa określonej durationwartości .
duration_cast Rzutuje duration obiekt na określony typ docelowy duration .
floor Zwraca największą reprezentację duration , która jest mniejsza lub równa określonej durationwartości .
from_stream Przeanalizuj element duration z danego strumienia przy użyciu określonego formatu.
round Zaokrągla określoną duration wartość do najbliższej reprezentacji duration w typie docelowym.

Operatory

Nazwa/nazwisko opis
operator+ Po przekonwertowaniu czasu trwania dodawanego do ich wspólnego typu zwraca wartość duration z liczbą znaczników równą sumie przekonwertowanych liczb znaczników.
operator- Po przekonwertowaniu czasu trwania odjętego do ich wspólnego typu zwraca wartość duration z liczbą znaczników równą liczbie kleszczy w RHS duration odjętym od liczby kleszczy w LHS duration.
operator* Po przekonwertowaniu czasów trwania mnożonych na typ wspólny zwraca duration wartość z liczbą znaczników równą mnożenie przekonwertowanych liczb znaczników.
operator/ Po przekonwertowaniu czasów trwania podzielonych na wspólny typ zwraca wartość z duration liczbą znaczników równą podziałowi przekonwertowanych liczb znaczników.
operator% Po przekonwertowaniu duration dzielnika i na wspólny typ zwraca duration wartość z liczbą znaczników równą pozostałej części dzielenia.
operator== Po przekonwertowaniu duration typów porównywanych ze wspólnym typem określa, czy liczba kleszczy jest równa.
operator!= Ustal, czy duration nie jest równy innemu.
operator< Ustal, czy jeden duration jest mniejszy niż inny.
operator<= Ustal, czy jeden duration jest mniejszy niż lub równy innemu.
operator> Ustal, czy jeden duration jest większy niż inny.
operator>= Ustal, czy jedna duration jest większa niż lub równa innej.
operator<=> Porównaj jedną duration z nich względem innej duration. Operatory >, >=, <=, <, != są syntetyzowane przez kompilator.
operator<< duration Wyprowadź element do danego strumienia.

Aliasy typu wygody

Nazwa/nazwisko opis
duration::period Synonim parametru Periodszablonu .
duration::rep Synonim parametru Repszablonu .

Wymagania

Nagłówka:<chrono>

Obszaru nazw:std::chrono

duration::count

Pobiera liczbę znaczników zegara w interwale czasu.

constexpr Rep count() const;

Wartość zwracana

Liczba znaczników zegara w interwale czasu.

duration::duration Konstruktor

duration Tworzy obiekt.

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

Parametry

Dur
Liczba znaczników kropki określonej przez Period2.

Period2
Specjalizacja std::ratio szablonu reprezentująca okres znaczników w jednostkach sekund.

R
Liczba znaczników okresu domyślnego.

Rep2
Typ arytmetyczny reprezentujący liczbę kleszczy.

Uwagi

1) Domyślny konstruktor tworzy obiekt, który jest niezainicjowany. Inicjowanie wartości przy użyciu pustych nawiasów klamrowych inicjuje obiekt reprezentujący przedział czasu zerowego zegara.

2) Konstruktor kopiowania wykonuje bitową kopię elementu d.

3) Tworzy obiekt, który reprezentuje przedział R czasu znaczników zegara przy użyciu domyślnego std::ratio<1>okresu . Aby uniknąć zaokrąglenia liczby znaczników, jest to błąd podczas konstruowania obiektu czasu trwania z typu reprezentacji, który może być traktowany jako typ Rep2 zmiennoprzecinkowy, gdy duration::rep nie można go traktować jako typu zmiennoprzecinkowego.

4) Tworzy obiekt, który reprezentuje przedział czasu, którego długość to interwał czasu określony przez Dur. Aby uniknąć obcinania liczby znaczników, jest to błąd podczas konstruowania obiektu czasu trwania z innego obiektu czasu trwania, którego typ jest niesprzeciągalny dla typu docelowego.

Typ D1 czasu trwania jest proporcjonalny do innego typu czasu trwania, jeśli D2 nie może być traktowany jako typ D2 zmiennoprzecinkowy i ratio_divide<D1::p eriod, D2::p eriod>::type::d en nie jest 1.

Chyba że Rep2 jest niejawnie konwertowany na rep i treat_as_floating_point<rep>albo posiada wartość true lub treat_as_floating_point<Rep2>posiada wartość false, drugi konstruktor nie uczestniczy w rozpoznawaniu przeciążenia. Aby uzyskać więcej informacji, zobacz <type_traits>.

Jeśli w konwersji nie zostanie wprowadzona żadna przepełnienie i treat_as_floating_point<rep>nie ma wartości true lub oba ratio_divide<Period2, period>::den te wartości są równe 1 i treat_as_floating_point<Rep2>mają wartość false, trzeci konstruktor nie uczestniczy w rozwiązywaniu przeciążeń. Aby uzyskać więcej informacji, zobacz <type_traits>.

Przykład: tworzenie elementu 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

Metoda statyczna zwracająca górną granicę dla wartości typu Repparametru szablonu .

static constexpr duration max();

Wartość zwracana

W efekcie funkcja zwraca wartość duration(duration_values<rep>::max()).

duration::min

Metoda statyczna zwracająca niższą granicę dla wartości typu Repparametru szablonu .

static constexpr duration min();

Wartość zwracana

W efekcie funkcja zwraca wartość duration(duration_values<rep>::min()).

duration::operator-

Zwraca kopię duration obiektu z negowaną liczbą znaczników.

constexpr duration operator-() const;

duration::operator--

Dekrementuje przechowywaną liczbę znaczników.

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

Wartość zwracana

1) Zwraca wartość *this. 2) Zwraca kopię *this przed dekrementem.

duration::operator%=

Zmniejsza składowane modulo liczby znaczników o określonej wartości.

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

Parametry

Div
1) Div liczba znaczników. 2) Div element duration zawierający liczbę kleszczy.

Wartość zwracana

Obiekt duration po wykonaniu operacji modulo.

duration::operator*=

Mnoży przechowywaną liczbę znaczników przez określoną wartość.

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

Parametry

Mult
Wartość typu określonego przez duration::rep.

Wartość zwracana

Obiekt duration po mnożenia jest wykonywany.

duration::operator/=

Dzieli przechowywaną liczbę znaczników według określonej wartości.

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

Parametry

Div
Wartość typu określonego przez duration::rep.

Wartość zwracana

Obiekt duration po zakończeniu dzielenia.

duration::operator+

Zwraca wartość *this.

constexpr duration operator+() const;

Wartość zwracana

*this

duration::operator++

Zwiększa przechowywaną liczbę znaczników.

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

Wartość zwracana

1) Zwraca wartość *this. 2) Zwraca kopię *this przed przyrostem.

duration::operator+=

Dodaje liczbę znaczników określonego duration obiektu do przechowywanej liczby znaczników.

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

Parametry

Dur
Obiekt duration.

Wartość zwracana

Obiekt duration po dodaniu jest wykonywany.

duration::operator-=

Odejmuje liczbę znaczników określonego duration obiektu z przechowywanej liczby znaczników.

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

Parametry

Dur
Obiekt duration.

Wartość zwracana

Obiekt duration po zakończeniu odejmowania.

duration::zero

Zwraca wartość duration(duration_values<rep>::zero()).

static constexpr duration zero();

duration::operator=

Przypisuje jeden czas trwania do innego.

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

Parametry

other
Obiekt duration do skopiowania.

Wartość zwracana

Obiekt LHS duration .

Zobacz też

<chrono>
Definicje typów wygody duration , takie jak minutes, secondsi inne
Literały wygody dla godzin, minut i innych
duration_values Struktury
Odwołanie do plików nagłówka