PIP 5.5.3
Platform-Independent Primitives
Классы | Открытые члены | Открытые статические члены | Открытые атрибуты | Полный список членов класса
Класс PISystemTime

Системное время с точностью до наносекунд. Подробнее...

#include <pisystemtime.h>

Классы

class  Frequency
 Тип частоты. Подробнее...
 

Открытые члены

 PISystemTime ()
 Создает время с секундами и наносекундами = 0.
 
 PISystemTime (int s, int ns)
 Создает время с секундами "s" и наносекундами "ns".
 
 PISystemTime (std::pair< int, int > s_ns)
 Создает время с секундами "s" и наносекундами "ns".
 
bool isNull () const
 Возвращает нулевое ли время
 
bool isNotNull () const
 Возвращает не нулевое ли время
 
bool isPositive () const
 Возвращает больше ли 0 время
 
bool isNegative () const
 Возвращает меньше ли 0 время
 
double toSeconds () const
 Возвращает значение времени в секундах
 
double toMilliseconds () const
 Возвращает значение времени в миллисекундах
 
double toMicroseconds () const
 Возвращает значение времени в микросекундах
 
double toNanoseconds () const
 Возвращает значение времени в наносекундах
 
PISystemTimeaddSeconds (double v)
 Добавляет ко времени "v" секунд
 
PISystemTimeaddMilliseconds (double v)
 Добавляет ко времени "v" миллисекунд
 
PISystemTimeaddMicroseconds (double v)
 Добавляет ко времени "v" микросекунд
 
PISystemTimeaddNanoseconds (double v)
 Добавляет ко времени "v" наносекунд
 
void sleep ()
 Ожидать это время Подробнее...
 
void toTimespec (void *ts)
 На *nix системах присваивает время к timespec структуре
 
PISystemTime::Frequency toFrequency ()
 Возвращает Frequency соответствующую этому временному интервалу
 
PIString toString () const
 Возвращает "yyyy-MM-dd hh:mm:ss.zzz" для абсолютного времени и "<V> <d|h|m|s|ms|us|ns> ..." для относительного
 
PISystemTime abs () const
 Возвращает копию времени с модулем значения
 
PISystemTime operator+ (const PISystemTime &t) const
 Возвращает сумму этого времени с "t".
 
PISystemTime operator- (const PISystemTime &t) const
 Возвращает разницу между этим временем и "t".
 
PISystemTime operator* (const double &v) const
 Возвращает это время умноженное на "t".
 
PISystemTime operator/ (const double &v) const
 Возвращает это время поделённое на "t".
 
PISystemTimeoperator+= (const PISystemTime &t)
 Добавляет ко времени "t".
 
PISystemTimeoperator-= (const PISystemTime &t)
 Вычитает из времени "t".
 
PISystemTimeoperator*= (const double &v)
 Умножает время на "v".
 
PISystemTimeoperator/= (const double &v)
 Делит время на "v".
 
bool operator== (const PISystemTime &t) const
 Оператор сравнения
 
bool operator!= (const PISystemTime &t) const
 Оператор сравнения
 
bool operator> (const PISystemTime &t) const
 Оператор сравнения
 
bool operator< (const PISystemTime &t) const
 Оператор сравнения
 
bool operator>= (const PISystemTime &t) const
 Оператор сравнения
 
bool operator<= (const PISystemTime &t) const
 Оператор сравнения
 

Открытые статические члены

static PISystemTime fromSeconds (double v)
 Создает время из "v" секунд
 
static PISystemTime fromMilliseconds (double v)
 Создает время из "v" миллисекунд
 
static PISystemTime fromMicroseconds (double v)
 Создает время из "v" микросекунд
 
static PISystemTime fromNanoseconds (double v)
 Создает время из "v" наносекунд
 
static PISystemTime fromString (PIString s)
 Создает время из строки "s" ("yyyy-MM-dd hh:mm:ss.zzz", либо произвольная форма)
 
static PISystemTime current (bool precise_but_not_system=false)
 Возвращает текущее системное время
 

Открытые атрибуты

int seconds
 Секунды времени
 
int nanoseconds
 Наносекунды времени
 

Подробное описание

Системное время с точностью до наносекунд.

Краткий обзор

Этот класс предоставляет арифметику для системного времени в формате POSIX. Это время представлено в виде целочисленных секунд и наносекунд. Можно взять текущее время с помощью метода PISystemTime::current(), сравнивать, суммировать и вычитать времена, преобразовывать в/из секунд, миллисекунд, микросекунд и наносекунд.

Пример

int main() {
PISystemTime t0; // s = ns = 0
t0.addMilliseconds(200); // s = 0, ns = 200000000
t0.addMilliseconds(900); // s = 1, ns = 100000000
t0 -= PISystemTime::fromSeconds(0.1); // s = 1, ns = 0
t0.sleep(); // sleep for 1 second
piMSleep(500);
(t1 - t0).sleep(); // sleep for 500 milliseconds
return 0;
};
Системное время с точностью до наносекунд.
Definition: pisystemtime.h:37
PISystemTime & addMilliseconds(double v)
Добавляет ко времени "v" миллисекунд
Definition: pisystemtime.h:235
static PISystemTime current(bool precise_but_not_system=false)
Возвращает текущее системное время
Definition: pisystemtime.cpp:221
static PISystemTime fromSeconds(double v)
Создает время из "v" секунд
Definition: pisystemtime.h:375
void sleep()
Ожидать это время
Definition: pisystemtime.cpp:108
void piMSleep(double msecs)
Точно ожидает "msecs" миллисекунд
Definition: pitime.h:42

Методы

◆ sleep()

void PISystemTime::sleep ( )

Ожидать это время

Предупреждения

Используйте этот метод для ожидания разниц системных времен или своего времени. Если метод будет вызван для системного времени PISystemTime::current(), то ожидание будет почти бесконечным