[ Web Proxy ]
URL:
Viewing: https://de.cppreference.com/cpp/chrono/duration [Back]  [Original]

std::chrono::duration cppreference.com
cppreference.com
Namensrume
Varianten

std::chrono::duration

Aus cppreference.com
 
 
 
 
std::chrono::duration
Member-Funktionen
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
duration::duration
duration::operator=
duration::count
duration::zero
duration::min
duration::max
duration::operator+
duration::operator-
duration::operator++
duration::operator--
duration::operator+=
duration::operator-=
duration::operator*=
duration::operator/=
duration::operator%=
Non-Member-Funktionen
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
common_type
operator+
operator-
operator*
operator/
operator%
operator==
operator!=
operator<
operator<=
operator>
operator>=
duration_cast
Helper-Klassen
Original:
Helper classes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
treat_as_floating_point
duration_values
 
<tbody> </tbody>
definiert in Header <chrono>
template< class Rep, class Period = std::ratio<1> > class duration;
(seit C++11)

Das Klassentemplate std::chrono::duration stellt ein Zeitintervall dar.

Es besteht aus einer Anzahl von Zeitschritten vom Typ Rep und einer Zeitschrittweite, wobei diese eine konstante, rational Zeit ist, die die Anzahl an Sekunden angibt, welche von einem Zeitschritt bis zum nchsten Zeitschritt vergeht.

In einem Zeitintervall duration wird nur die Anzahl der Zeitschritte gespeichert. Dabei ist die Anzahl vom Typ Rep. Falls Rep eine Gleitkommazahl ist, kann das Zeitintervall Bruchteile der Zeitschrittweite darstellen. Die Zeitschrittweite Period ist ein Teil des Typs des Zeitintervalls und wird nur verwendet, um verschiedene Zeitintervallen ineinander zu konvertieren.

Klassentypen

Klassentyp Definition
Rep Rep ist ein arithmetischer Zahlentyp, um die Anzahl an Zeitschritten zu speichern.
Period Period, ein std::ratio, welches die Zeitschrittweite, d.h. die Anzahl Sekunden pro Zeitschritt, darstellt.

Klassenmethoden

erzeugt neues Intervall.
(ffentliche Elementfunktion) [edit]
weist Inhalte zu.
(ffentliche Elementfunktion) [edit]
gibt die Anzahl der Zeitschritte an.
(ffentliche Elementfunktion) [edit]
[statisch]
gibt den besonderen Wert des Nullintervalls zurck.
(public static Elementfunktion) [edit]
[statisch]
gibt den besonderen Wert des minimalen Intervalls zurck.
(public static Elementfunktion) [edit]
[statisch]
gibt den besonderen Wert des maximalen Intervalls zurck.
(public static Elementfunktion) [edit]
implementiert unres + und unres -.
(ffentliche Elementfunktion) [edit]
erhht bzw. verringert die Anzahl der Zeitschritte.
(ffentliche Elementfunktion) [edit]
implementiert die kombinierten Zuweisungsoperator zwischen zwei Intervallen.
(ffentliche Elementfunktion) [edit]

Typen auerhalb der Klasse

Typ Definition
std::chrono::nanoseconds Zeitintervall mit Zeitschrittweite in ns (std::nano)
std::chrono::microseconds Zeitintervall mit Zeitschrittweite in us (std::micro)
std::chrono::milliseconds Zeitintervall mit Zeitschrittweite in ms (std::milli)
std::chrono::seconds Zeitintervall mit Zeitschrittweite in s (std::ratio<1>)
std::chrono::minutes Zeitintervall mit Zeitschrittweite in min (std::ratio<60>)
std::chrono::hours Zeitintervall mit Zeitschrittweite in h (std::ratio<3600>)

Funktionen auerhalb der Klasse

spezialisiert die Traitsklasse std::common_type.
(class Template-Spezialisierung) [edit]
implementiert arithmetische Operationen mit Zeitintervallen als Argumente.
(Funktions-Template) [edit]
vergleicht zwei Zeitintervalle.
(Funktions-Template) [edit]
wandelt ein Zeitintervall in ein anderes Zeitintervall mit einer anderen Zeitschrittweite um.
(Funktions-Template) [edit]

Hilfsklassen

zeigt an, ob ein Zeitintervall in ein anderes Intervall mit verschiedener Zeitschrittweite konvertiert werden kann
(Klassen-Template)
erzeugt Null-, Minimum- und Maximumwerte eines Zeitschrittewertes vom gegebenen Typ
(Klassen-Template)

Beispiel

Diese Beispiel zeigt, wie man verschiedene eigene Zeitintervalle definieren und zwischen ihnen hin- und herkonvertieren kann:

#include <iostream>
#include <chrono>

int main()
{
    typedef std::chrono::duration<int, std::ratio<1, 100000000>> shakes;
    typedef std::chrono::duration<int, std::centi> jiffies;
    typedef std::chrono::duration<float, std::ratio<12096,10000>> microfortnights;
    typedef std::chrono::duration<float, std::ratio<3155,1000>> nanocenturies;

    std::chrono::seconds sec(1);

    std::cout << "1 second is:\n";

    std::cout << std::chrono::duration_cast<shakes>(sec).count()
              << " shakes\n";
    std::cout << std::chrono::duration_cast<jiffies>(sec).count()
              << " jiffies\n";
    std::cout << std::chrono::duration_cast<microfortnights>(sec).count()
              << " microfortnights\n";
    std::cout << std::chrono::duration_cast<nanocenturies>(sec).count()
              << " nanocenturies\n";
}

Output:

1 second is:
100000000 shakes
100 jiffies
0.82672 microfortnights
0.316957 nanocenturies

Web Proxy Viewer  |  New URL  |  Original Page