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

length.hpp
Go to the documentation of this file.
1 
9 #ifndef EAGINE_UNITS_UNIT_SI_LENGTH_HPP
10 #define EAGINE_UNITS_UNIT_SI_LENGTH_HPP
11 
12 #include "common.hpp"
13 
14 namespace eagine::units {
15 namespace base {
16 
17 // meter
18 struct meter : unit<length, meter> {};
19 
20 } // namespace base
21 
22 template <>
23 struct name_of<base::meter> {
24  static constexpr const char mp_str[] = "meter";
25 };
26 template <>
27 struct symbol_of<base::meter> {
28  static constexpr const char mp_str[] = "m";
29 };
30 
31 // si::base_unit<length>
32 template <>
33 struct si::base_unit<base::length> : base::meter {};
34 
35 // kilometer
36 using meter = unit<length, si>;
37 
38 // derived
39 using kilometer =
40  make_scaled_base_dim_unit_t<base::scaled_unit<scales::kilo, base::meter>, si>;
41 
42 using decimeter =
43  make_scaled_base_dim_unit_t<base::scaled_unit<scales::deci, base::meter>, si>;
44 
45 using centimeter =
46  make_scaled_base_dim_unit_t<base::scaled_unit<scales::centi, base::meter>, si>;
47 
48 using millimeter =
49  make_scaled_base_dim_unit_t<base::scaled_unit<scales::milli, base::meter>, si>;
50 
51 } // namespace eagine::units
52 
53 #endif // EAGINE_UNITS_UNIT_SI_LENGTH_HPP

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