brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · f9b35c9 Raw
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