Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa
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 Repszablonu . |
min |
Statyczny. Zwraca najniższą dozwoloną wartość parametru Repszablonu . |
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 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łó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 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 struktura
Odwołanie do plików nagłówka