Namespaces
Variants

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

ja.cppreference.net より
 
 
 
 
ヘッダ <chrono>
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 );
で定義 (1) (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 以上)
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 );
(2) (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 以上)
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 );
(3) (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 以上)
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 );
(4) (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++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 2739 C++11 pt - d 符号なし duration に対して不安定な動作を示した 動作を修正

関連項目

指定された期間で時間点を変更する
(公開メンバ関数)