operator+, operator-(std::chrono::time_point)

来自cppreference.com
< cpp‎ | chrono‎ | time point
 
 
工具库
通用工具
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
初等字符串转换
(C++17)
(C++17)
 
 
 
在标头 <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, typename std::common_type<D1, duration<R2,P2>>::type>
    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, typename std::common_type<duration<R1,P1>,D2>::type>
    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, typename std::common_type<D1, duration<R2,P2>>::type>
    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 typename std::common_type<D1,D2>::type
    operator-( const time_point<C,D1>& pt_lhs,

               const time_point<C,D2>& pt_rhs );
(C++14 起)

进行涉及 time_point 的加减运算。

1-2) 应用偏移 dpt 。等效于返回 CT(pt.time_since_epoch() + d) ,其中 CT 为返回类型。
3) 以负方向应用偏移 dpt 。等效于返回 CT(pt.time_since_epoch() - d) ,其中 CT 为返回类型。
4) 计算 pt_lhspt_rhs 之间的差。

参数

pt - 要应用偏移到的时间点
d - 时间偏移
pt_lhs, pt_rhs - 用于提取差的时间点

返回值

1-3) 由应用偏移 d 产生的时间点。
4) 时间点之间的时长。

异常

可能会抛出由实现定义的异常。

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 2739 C++11 pt - d 对无符号 duration 行为不规律 更正行为

参阅

以给定的 duration 修改 time_point
(公开成员函数)