NAME

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

Synopsis


template< class C, class D1, class R2, class P2 >
time_point<C, typename std::common_type<D1, duration<R2,P2>>::type> (since C++11)
operator+( const time_point<C,D1>& pt, (until C++14)
const duration<R2,P2>& d );
template< class C, class D1, class R2, class P2 >
constexpr time_point<C, typename std::common_type<D1, duration<R2,P2>>::type> (since C++14)
operator+( const time_point<C,D1>& pt,
const duration<R2,P2>& d );
template< class R1, class P1, class C, class D2 >
time_point<C, typename std::common_type<duration<R1,P1>,D2>::type> (since C++11)
operator+( const duration<R1,P1>& d, (until C++14)
const time_point<C,D2>& pt );
template< class R1, class P1, class C, class D2 >
constexpr time_point<C, typename std::common_type<duration<R1,P1>,D2>::type> (since C++14)
operator+( const duration<R1,P1>& d,
const time_point<C,D2>& pt ); (1)
template< class C, class D1, class R2, class P2 >
time_point<C, typename std::common_type<D1, duration<R2,P2>>::type> (since C++11)
operator-( const time_point<C,D1>& d, (until C++14)
const duration<R2,P2>& pt ); (2)
template< class C, class D1, class R2, class P2 >
constexpr time_point<C, typename std::common_type<D1, duration<R2,P2>>::type> (since C++14)
operator-( const time_point<C,D1>& d,
const duration<R2,P2>& pt ); (3)
template< class C, class D1, class D2 >
typename std::common_type<D1,D2>::type (since C++11)
operator-( const time_point<C,D1>& pt_lhs, (until C++14)
const time_point<C,D2>& pt_rhs ); (4)
template< class C, class D1, class D2 >
constexpr typename std::common_type<D1,D2>::type (since C++14)
operator-( const time_point<C,D1>& pt_lhs,
const time_point<C,D2>& pt_rhs );


Performs add and subtract operations involving a time_point.
1-2) Applies the offset d to pt. Effectively returns CT(pt.time_since_epoch() + d), where CT is the return type.
3) Applies the offset d to pt in negative direction. Effectively returns CT(ot.time_since_epoch() - d), where CT is the return type.
4) Computes the difference between pt_lhs and pt_rhs.

Parameters


pt - a time point to apply the offset to
d - a time offset
pt_lhs, pt_rhs - time points to extract difference from

Return value


1-3) The time point that resulted from applying the offset d.
4) The duration between the time points.

Exceptions


(none)


Defect reports


The following behavior-changing defect reports were applied retroactively to previously published C++ standards.


DR Applied to Behavior as published Correct behavior
LWG_2739 C++11 pt - d behaved erratically for unsigned durations behavior corrected

See also


           modifies the time point by the given duration
operator+= (public member function)
operator-=