Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::chrono::

time_point::operators

函数模板  <chrono>

member functions
time_point& operator+= (const duration& dtn);
time_point& operator-= (const duration& dtn);
non-member functions
template <class Clock, class Duration1, class Rep2, class Period2>
  time_point<Clock,typename common_type<Duration1,duration<Rep2,Period2>>::type>
  operator+ (const time_point<Clock,Duration1>& lhs, const duration<Rep2,Period2>& dtn);
template <class Rep1, Period1, class Clock, class Duration2>
  time_point<Clock,typename common_type<duration<Rep1,Period1>,Duration2>::type>
  operator+ (const duration<Rep1,Period1>& dtn, const time_point<Clock,Duration2>& rhs);
template <class Clock, class Duration1, class Rep2, class Period2>
  time_point<Clock,typename common_type<Duration1,duration<Rep2,Period2>>::type>
  operator- (const time_point<Clock,Duration1>& lhs, const duration<Rep2,Period2>& dtn);
template <class Clock, class Duration1, class Duration2>
  typename common_type<Duration1,Duration2>::type
  operator- (const time_point<Clock,Duration1>& lhs, const time_point<Clock,Duration2>& rhs);
template <class Clock, class Duration1, class Duration2>
  bool operator== (const time_point<Clock,Duration1>& lhs, const time_point<Clock,Duration2>& rhs);
template <class Clock, class Duration1, class Duration2>
  bool operator!= (const time_point<Clock,Duration1>& lhs, const time_point<Clock,Duration2>& rhs);
template <class Clock, class Duration1, class Duration2>
  bool operator<  (const time_point<Clock,Duration1>& lhs, const time_point<Clock,Duration2>& rhs);
template <class Clock, class Duration1, class Duration2>
  bool operator>  (const time_point<Clock,Duration1>& lhs, const time_point<Clock,Duration2>& rhs);
template <class Clock, class Duration1, class Duration2>
  bool operator>= (const time_point<Clock,Duration1>& lhs, const time_point<Clock,Duration2>& rhs);
template <class Clock, class Duration1, class Duration2>
  bool operator<= (const time_point<Clock,Duration1>& lhs, const time_point<Clock,Duration2>& rhs);

时间点运算
对所涉及的时间点对象执行适当的运算,就像直接对其内部持续时间对象操作一样。支持以下操作:
操作 返回
复合赋值(成员函数) tp += dtn *this
tp -= dtn *this
算术运算 (非成员函数) tp + dtn 一个时间点值
dtn + tp 一个时间点值
tp - dtn 一个时间点值
tp - tp2 一个持续时间值
关系运算符 (非成员函数) tp == tp2 bool值
tp != tp2 bool值
tp < tp2 bool值
tp > tp2 bool值
tp >= tp2 bool值
tp <= tp2 bool值

其中tptp2是时间点对象,dtn是持续时间对象。

☲  参数


lhs,rhs
时间点对象(分别位于运算符的左边和右边)。

dtn
持续时间对象。
Duration是一个成员类型,定义为对象使用的持续时间类型。

☉  返回值



运算的结果。

☣  示例



// time_point operators
#include <iostream>
#include <chrono>

int main ()
{

  using namespace std::chrono;

  system_clock::time_point tp,tp2;                // epoch value
  system_clock::duration dtn (duration<int>(1));  // 1 second

                      //  tp     tp2    dtn
                      //  ---    ---    ---
  tp += dtn;          //  e+1s   e      1s
  tp2 -= dtn;         //  e+1s   e-1s   1s
  tp2 = tp + dtn;     //  e+1s   e+2s   1s
  tp = dtn + tp2;     //  e+3s   e+2s   1s
  tp2 = tp2 - dtn;    //  e+3s   e+1s   1s
  dtn = tp - tp2;     //  e+3s   e+1s   2s

  std::cout << std::boolalpha;
  std::cout << "tp == tp2: " << (tp==tp2) << std::endl;
  std::cout << "tp > tp2: " << (tp>tp2) << std::endl;
  std::cout << "dtn: " << dtn.count() << std::endl;

  return 0;
}

输出:
tp == tp2: false
tp > tp2: true dtn: 2000000

🍄  另请参阅



time_point::time_point 时间点的构造函数(函数模板)
duration 持续时间(类模板)

联系我们 免责声明 关于CandCplus 网站地图