Spec-Zone.ru › C++

Оператор +, оператор-(std::chrono::time_point)

Определено в заголовке <chrono>
(1)
template< class C, class D1, class R2, class P2 >
time_point<C, typename std::common_type<D1, duration<R2,P2>>::type>
    operator+( const time_point<C,D1>& pt, 
               const duration<R2,P2>& d );
(с C++11)
(до C++14)
template< class C, class D1, class R2, class P2 >
constexpr time_point<C, std::common_type_t<D1, duration<R2,P2>>>
    operator+( const time_point<C,D1>& pt, 
               const duration<R2,P2>& d );
(с C++14)
(2)
template< class R1, class P1, class C, class D2 >
time_point<C, typename std::common_type<duration<R1,P1>,D2>::type>
    operator+( const duration<R1,P1>& d, 
               const time_point<C,D2>& pt );
(с C++11)
(до C++14)
template< class R1, class P1, class C, class D2 >
constexpr time_point<C, std::common_type_t<duration<R1,P1>,D2>>
    operator+( const duration<R1,P1>& d, 
               const time_point<C,D2>& pt );
(с C++14)
(3)
template< class C, class D1, class R2, class P2 >
time_point<C, typename std::common_type<D1, duration<R2,P2>>::type>
    operator-( const time_point<C,D1>& pt, 
               const duration<R2,P2>& d );
(с C++11)
(до C++14)
template< class C, class D1, class R2, class P2 >
constexpr time_point<C, std::common_type_t<D1, duration<R2,P2>>>
    operator-( const time_point<C,D1>& pt, 
               const duration<R2,P2>& d );
(с C++14)
(4)
template< class C, class D1, class D2 >
typename std::common_type<D1,D2>::type
    operator-( const time_point<C,D1>& pt_lhs, 
               const time_point<C,D2>& pt_rhs );
(с C++11)
(до C++14)
template< class C, class D1, class D2 >
constexpr std::common_type_t<D1,D2>
    operator-( const time_point<C,D1>& pt_lhs, 
               const time_point<C,D2>& pt_rhs );
(с C++14)

Выполняет операции сложения и вычитания, связанные с time_point.

1,2) Применяет смещение d к pt. Эффективно возвращает CT(pt.time_since_epoch() + d), где CT - тип возвращаемого значения.
3) Применяет смещение d к pt в отрицательном направлении. Эффективно возвращает CT(pt.time_since_epoch() - d), где CT - тип возвращаемого значения.
4) Вычисляет разницу между pt_lhs и pt_rhs.

Параметры

pt - момент времени, к которому нужно применить смещение
d - временное смещение
pt_lhs, pt_rhs - моменты времени для получения разницы

Возвращаемое значение

1-3) Момент времени, полученный в результате применения смещения d.
4) Продолжительность между моментами времени.

Исключение

Может выбросить исключение, определённое реализацией.

Пример

Отчеты об ошибках

Следующие отчеты об ошибках, изменяющих поведение, были применены ретроактивно к ранее опубликованным стандартам C++.

Отчет об ошибке Применено к Поведение, как опубликовано Правильное поведение
LWG 2739 C++11 pt - d работало нестабильно для беззнаковых duration поведение исправлено

См. также

оператор+=оператор-=
изменяет момент времени на заданную продолжительность
(публичный член-функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/chrono/time_point/operator_arith2

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API