41 template <
typename T, UnitBase B, UnitType U>
52 constexpr
self_t operator+(
const self_t r)
const {
return { v + r.v }; }
53 constexpr
self_t operator-(
const self_t r)
const {
return { v - r.v }; }
54 constexpr
self_t operator-()
const {
return { -v }; }
55 constexpr
self_t operator*(
const self_t r)
const {
return { v * r.v }; }
56 constexpr
self_t operator/(
const self_t r)
const {
return { v / r.v }; }
59 constexpr
self_t operator*(
const long double f)
const {
return { (T)(v * f) }; }
60 constexpr
self_t operator/(
const long double f)
const {
return { (T)(v / f) }; }
64 template <
typename T, UnitBase B, UnitType U>
68 typedef Unit<long double, Millimeter, Lenght> U_mm;
69 typedef Unit<long double, Millimeter, Speed> U_mm_s;
70 typedef Unit<long double, Millimeter, Accel> U_mm_s2;
72 static constexpr U_mm
operator"" _mm(
long double mm) {
76 static constexpr U_mm_s
operator"" _mm_s(
long double mm_s) {
80 static constexpr U_mm_s2
operator"" _mm_s2(
long double mm_s2) {
85 typedef Unit<long double, Degree, Lenght> U_deg;
86 typedef Unit<long double, Degree, Speed> U_deg_s;
87 typedef Unit<long double, Degree, Accel> U_deg_s2;
89 static constexpr U_deg
operator"" _deg(
long double deg) {
93 static constexpr U_deg_s
operator"" _deg_s(
long double deg_s) {
97 static constexpr U_deg_s2
operator"" _deg_s2(
long double deg_s2) {
104 using unit::operator
"" _mm;
105 using unit::operator
"" _mm_s;
106 using unit::operator
"" _mm_s2;
107 using unit::operator
"" _deg;
108 using unit::operator
"" _deg_s;
109 using unit::operator
"" _deg_s2;
Definition: command_base.h:9
UnitType
Unit types for conformability testing.
Definition: unit.h:34
UnitBase
Base units for conformability testing.
Definition: unit.h:28
Generic unit type for compile-time conformability testing.
Definition: unit.h:42