diff --git a/example/box_example.cpp b/example/box_example.cpp index c91ffdf2..0aa335cd 100644 --- a/example/box_example.cpp +++ b/example/box_example.cpp @@ -31,6 +31,10 @@ #include #include +template + requires units::is_scalar +inline constexpr bool units::is_vector = true; + namespace { using namespace units; @@ -57,7 +61,7 @@ public: return quantity_cast(mass * g); } - [[nodiscard]] constexpr quantity fill_level(const quantity& measured_mass) const + [[nodiscard]] constexpr quantity fill_level(const quantity& measured_mass) const { return height_ * measured_mass * g / filled_weight(); } diff --git a/example/measurement.cpp b/example/measurement.cpp index e4f8881f..6d43de1f 100644 --- a/example/measurement.cpp +++ b/example/measurement.cpp @@ -117,11 +117,15 @@ private: } // namespace +template +inline constexpr bool units::is_scalar> = true; +template +inline constexpr bool units::is_vector> = true; + +static_assert(units::RepresentationOf, units::quantity_character::scalar>); namespace { -static_assert(units::Representation>); - void example() { using namespace units; @@ -130,7 +134,7 @@ void example() const auto a = measurement{9.8, 0.1} * isq::acceleration[m / s2]; const auto t = measurement{1.2, 0.1} * isq::time[s]; - const weak_quantity_of auto v = a * t; + const weak_quantity_of auto v = a * t; std::cout << a << " * " << t << " = " << v << " = " << v[km / h] << '\n'; const auto length = measurement{123., 1.} * isq::length[si::metre]; diff --git a/example/si_constants.cpp b/example/si_constants.cpp index f703fd71..966b23cd 100644 --- a/example/si_constants.cpp +++ b/example/si_constants.cpp @@ -25,6 +25,10 @@ #include #include +template + requires units::is_scalar +inline constexpr bool units::is_vector = true; + int main() { using namespace units::si; diff --git a/test/unit_test/runtime/fmt_test.cpp b/test/unit_test/runtime/fmt_test.cpp index 2b03b9f6..e5efee04 100644 --- a/test/unit_test/runtime/fmt_test.cpp +++ b/test/unit_test/runtime/fmt_test.cpp @@ -34,6 +34,10 @@ #include #include +template + requires units::is_scalar +inline constexpr bool units::is_vector = true; + using namespace units; using namespace units::si::unit_symbols;