diff --git a/src/include/units/si/length.h b/src/include/units/si/length.h index 9487657b..e4ce39e6 100644 --- a/src/include/units/si/length.h +++ b/src/include/units/si/length.h @@ -30,6 +30,7 @@ namespace units { using dimension_length = make_dimension_t>; using millimeter = unit; + using centimeter = unit>; using meter = unit>; using kilometer = unit; @@ -55,6 +56,10 @@ namespace units { constexpr auto operator""_mm(unsigned long long l) { return length(l); } constexpr auto operator""_mm(long double l) { return length(l); } + // cm + constexpr auto operator""_cm(unsigned long long l) { return length(l); } + constexpr auto operator""_cm(long double l) { return length(l); } + // m constexpr auto operator""_m(unsigned long long l) { return length(l); } constexpr auto operator""_m(long double l) { return length(l); } diff --git a/test/test_units.cpp b/test/test_units.cpp index 29c352cf..101561cb 100644 --- a/test/test_units.cpp +++ b/test/test_units.cpp @@ -48,6 +48,8 @@ namespace { static_assert(10_km / 5_km == 2); static_assert(10_km / 2 == 5_km); + static_assert(1_m == 100_cm)//static_assert(5_in + 8_cm == 207_mm); + // velocity static_assert(std::is_same_v>, long long int>>);