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.
Elementy członkowskie
Konstruktory
Nazwa/nazwisko | opis |
---|---|
duration |
duration Tworzy obiekt. |
Funkcje
Nazwa/nazwisko | opis |
---|---|
count |
Zwraca liczbę znaczników zegara w interwale czasu. |
max |
Statyczny. Zwraca maksymalną dozwoloną wartość parametru Rep szablonu . |
min |
Statyczny. Zwraca najniższą dozwoloną wartość parametru Rep szablonu . |
zero |
Statyczny. 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 duration wartoś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 duration wartoś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 Period szablonu . |
duration::rep |
Synonim parametru Rep szablonu . |
Wymagania
Nagłówek: <chrono>
Przestrzeń 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 Rep
parametru 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 Rep
parametru 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
, seconds
i inne
Literały wygody dla godzin, minut i innych
duration_values
struktura
Odwołanie do plików nagłówka