Часы - это связка, состоящая из a duration, a time_pointи функции now() для получения тока time_point. Происхождение часов time_point называется часами epoch. Часы должны соответствовать требованиям таблицы 52.
В таблице 52 C1 и цвет, C2 обозначают типы тактовых импульсов. t1 и t2 являются значениями, возвращаемыми тем C1::now() местом, где вызов возвращает возвращаемый t1 happens before вызов, t2 и оба этих вызова произошли раньше C1::time_point::max(). [ Note: Это означает, C1 что не нужно переходить между t1 и t2. ] — end note
Выражение | Тип возврата | Операционная семантика |
C1::rep | Арифметический тип или класс, имитирующий арифметический тип | Тип представления C1::duration. |
C1::period | специализация ratio | Период тика часов в секундах. |
C1::duration | chrono::duration<C1::rep, C1::period> | duration Тип часов. |
C1::time_point | chrono::time_point<C1> или chrono::time_point<C2, C1::duration> | time_point Тип часов. C1 и C2 будет относиться к той же эпохе. |
C1::is_steady | const bool | true если t1 <= t2 всегда, true а время между тактами часов постоянно, в противном случае false. |
C1::now() | C1::time_point | Возвращает time_point объект, представляющий текущий момент времени. |
[ Note: Относительная разница в продолжительности между теми, о которых сообщают данные часы и определение SI, является мерой качества реализации. ] — end note
Тип TC соответствует TrivialClock требованиям, если:
TC удовлетворяет Clock requirements,
типы TC::rep, TC::durationи TC::time_point удовлетворяют требования EqualityComparable, LessThanComparable, DefaultConstructible, CopyConstructible, CopyAssignable, Destructible, и требование о numeric types. [ Note: Это, в частности, означает, что операции с этими типами не вызывают исключений. ] — end note
lvalues этих типов TC::rep, TC::durationи TC::time_point являются swappable,
функция TC::now() не генерирует исключений и
тип TC::time_point::clock соответствует TrivialClock требованиям, рекурсивно.