1// -*- C++ -*-
2//===------------------------------ ratio ---------------------------------===//
3//
4//                     The LLVM Compiler Infrastructure
5//
6// This file is distributed under the University of Illinois Open Source
7// License. See LICENSE.TXT for details.
8//
9//===----------------------------------------------------------------------===//
10
11#ifndef _LIBCPP_EXPERIMENTAL_RATIO
12#define _LIBCPP_EXPERIMENTAL_RATIO
13
14/**
15    experimental/ratio synopsis
16    C++1y
17#include <ratio>
18
19namespace std {
20namespace experimental {
21inline namespace fundamentals_v1 {
22
23  // See C++14 20.11.5, ratio comparison
24  template <class R1, class R2> constexpr bool ratio_equal_v
25    = ratio_equal<R1, R2>::value;
26  template <class R1, class R2> constexpr bool ratio_not_equal_v
27    = ratio_not_equal<R1, R2>::value;
28  template <class R1, class R2> constexpr bool ratio_less_v
29    = ratio_less<R1, R2>::value;
30  template <class R1, class R2> constexpr bool ratio_less_equal_v
31    = ratio_less_equal<R1, R2>::value;
32  template <class R1, class R2> constexpr bool ratio_greater_v
33    = ratio_greater<R1, R2>::value;
34  template <class R1, class R2> constexpr bool ratio_greater_equal_v
35    = ratio_greater_equal<R1, R2>::value;
36
37} // namespace fundamentals_v1
38} // namespace experimental
39} // namespace std
40
41*/
42
43#include <experimental/__config>
44
45#if _LIBCPP_STD_VER > 11
46
47#include <ratio>
48
49_LIBCPP_BEGIN_NAMESPACE_LFTS
50
51#ifndef _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
52
53template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_equal_v
54    = ratio_equal<_R1, _R2>::value;
55
56template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_not_equal_v
57    = ratio_not_equal<_R1, _R2>::value;
58
59template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_less_v
60    = ratio_less<_R1, _R2>::value;
61
62template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_less_equal_v
63    = ratio_less_equal<_R1, _R2>::value;
64
65template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_greater_v
66    = ratio_greater<_R1, _R2>::value;
67
68template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_greater_equal_v
69    = ratio_greater_equal<_R1, _R2>::value;
70
71#endif /* _LIBCPP_HAS_NO_VARIABLE_TEMPLATES */
72
73_LIBCPP_END_NAMESPACE_LFTS
74
75#endif /* _LIBCPP_STD_VER > 11 */
76
77#endif // _LIBCPP_EXPERIMENTAL_RATIO
78