32 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// typedef duration<signed integral type of at least 64 bits, nano> nanoseconds;12 13#include <chrono>14#include <limits>15#include <ratio>16#include <type_traits>17 18#include "test_macros.h"19 20int main(int, char**)21{22 typedef std::chrono::nanoseconds D;23 typedef D::rep Rep;24 typedef D::period Period;25 static_assert(std::is_signed<Rep>::value, "");26 static_assert(std::is_integral<Rep>::value, "");27 static_assert(std::numeric_limits<Rep>::digits >= 63, "");28 static_assert((std::is_same<Period, std::nano>::value), "");29 30 return 0;31}32