41 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 Duration2>14// time_point(const time_point<clock, Duration2>& t);15 16#include <chrono>17#include <cassert>18 19#include "test_macros.h"20 21int main(int, char**)22{23 typedef std::chrono::system_clock Clock;24 typedef std::chrono::microseconds Duration1;25 typedef std::chrono::milliseconds Duration2;26 {27 std::chrono::time_point<Clock, Duration2> t2(Duration2(3));28 std::chrono::time_point<Clock, Duration1> t1 = t2;29 assert(t1.time_since_epoch() == Duration1(3000));30 }31#if TEST_STD_VER > 1132 {33 constexpr std::chrono::time_point<Clock, Duration2> t2(Duration2(3));34 constexpr std::chrono::time_point<Clock, Duration1> t1 = t2;35 static_assert(t1.time_since_epoch() == Duration1(3000), "");36 }37#endif38 39 return 0;40}41