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-exception
6//
7//===----------------------------------------------------------------------===//
8
9// <chrono>
10
11// treat_as_floating_point
12
13#include <chrono>
14#include <type_traits>
15
16#include "test_macros.h"
17
18template <class T>
19void
20test()
21{
22 static_assert((std::is_base_of<std::is_floating_point<T>,
23 std::chrono::treat_as_floating_point<T> >::value), "");
24#if TEST_STD_VER > 14
25 static_assert(std::is_floating_point<T>::value ==
26 std::chrono::treat_as_floating_point_v<T>, "");
27#endif
28}
29
30struct A {};
31
32int main(int, char**)
33{
34 test<int>();
35 test<unsigned>();
36 test<char>();
37 test<bool>();
38 test<float>();
39 test<double>();
40 test<long double>();
41 test<A>();
42
43 return 0;
44}
45

source code of libcxx/test/std/time/time.traits/time.traits.is_fp/treat_as_floating_point.pass.cpp