brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 22e4520 Raw
42 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <chrono>10 11// time_point12 13// template <class Clock, class Duration1, class Duration2>14//   typename common_type<Duration1, Duration2>::type15//   operator-(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs);16 17#include <chrono>18#include <cassert>19 20#include "test_macros.h"21 22int main(int, char**)23{24    typedef std::chrono::system_clock Clock;25    typedef std::chrono::milliseconds Duration1;26    typedef std::chrono::microseconds Duration2;27    {28    std::chrono::time_point<Clock, Duration1> t1(Duration1(3));29    std::chrono::time_point<Clock, Duration2> t2(Duration2(5));30    assert((t1 - t2) == Duration2(2995));31    }32#if TEST_STD_VER > 1133    {34    constexpr std::chrono::time_point<Clock, Duration1> t1(Duration1(3));35    constexpr std::chrono::time_point<Clock, Duration2> t2(Duration2(5));36    static_assert((t1 - t2) == Duration2(2995), "");37    }38#endif39 40  return 0;41}42