diff --git a/src/include/units/physical/si/mass.h b/src/include/units/physical/si/mass.h index 7af3df31..4f8b6a56 100644 --- a/src/include/units/physical/si/mass.h +++ b/src/include/units/physical/si/mass.h @@ -30,6 +30,7 @@ namespace units::si { struct gram : named_unit {}; struct kilogram : prefixed_unit {}; +struct tonne : named_scaled_unit, kilogram> {}; struct dim_mass : physical::dim_mass {}; @@ -46,6 +47,10 @@ constexpr auto operator""g(long double l) { return mass(l); } constexpr auto operator""kg(unsigned long long l) { return mass(l); } constexpr auto operator""kg(long double l) { return mass(l); } +// t +constexpr auto operator""t(unsigned long long l) { return mass(l); } +constexpr auto operator""t(long double l) { return mass(l); } + } // namespace literals } // namespace units::si diff --git a/test/unit_test/static/si_test.cpp b/test/unit_test/static/si_test.cpp index 42ae4287..a6a54fc2 100644 --- a/test/unit_test/static/si_test.cpp +++ b/test/unit_test/static/si_test.cpp @@ -70,6 +70,7 @@ static_assert(kilometre::symbol == "km"); // mass static_assert(1kg == 1000g); +static_assert(1t == 1000kg); static_assert(kilogram::symbol == "kg");