OGLplus  (0.59.0) a C++ wrapper for rendering APIs

common.hpp
Go to the documentation of this file.
1 
9 #ifndef EAGINE_UNITS_COMMON_HPP
10 #define EAGINE_UNITS_COMMON_HPP
11 
12 #include "default.hpp"
13 #include "unit/si/angle.hpp"
14 #include "unit/si/temperature.hpp"
15 #include "unit/si/time.hpp"
16 
17 namespace eagine::units {
18 namespace scales {
19 
20 struct pi;
21 
22 template <int I>
23 struct constant;
24 
25 template <typename S1, typename S2>
26 struct divided;
27 
28 } // namespace scales
29 
30 namespace base {
31 
32 // dimensions
33 struct time;
34 struct angle;
35 struct temperature;
36 
37 // units
38 struct radian;
39 
40 } // namespace base
41 
42 // dimensions
43 using time = dimension<base::time, 1>;
44 using angle = dimension<base::angle, 1>;
45 using temperature = dimension<base::temperature, 1>;
46 
47 // units
48 using second = unit<time, si>;
49 
50 using radian = unit<angle, si>;
51 using degree = scaled_dim_unit<
52  angle,
53  bits::unit_scales<
54  bits::
55  uni_sca<base::radian, scales::divided<scales::pi, scales::constant<180>>>,
56  nothing_t>,
57  si>;
58 
59 using kelvin = unit<temperature, si>;
60 
61 } // namespace eagine::units
62 
63 #endif // EAGINE_UNITS_COMMON_HPP
static constexpr const auto pi
The pi constant.
Definition: constants.hpp:23

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).