From dc2d0dfca71821693d10a073602e9f5801e44397 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Wed, 13 Sep 2023 18:40:51 +0200 Subject: [PATCH] feat: `force_in(U)` added for `quantity_point` --- src/core/include/mp-units/quantity_point.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/core/include/mp-units/quantity_point.h b/src/core/include/mp-units/quantity_point.h index 1972ea30..1f4a4940 100644 --- a/src/core/include/mp-units/quantity_point.h +++ b/src/core/include/mp-units/quantity_point.h @@ -183,12 +183,19 @@ public: } template - requires detail::QuantityConvertibleTo{}, Rep>> - [[nodiscard]] constexpr quantity_point<::mp_units::reference{}, PO, Rep> in(U) const + requires detail::QuantityConvertibleTo> + [[nodiscard]] constexpr quantity_point in(U) const { return make_quantity_point(quantity_ref_from(PO).in(U{})); } + template + requires requires(quantity_type q) { value_cast(q); } + [[nodiscard]] constexpr quantity_point force_in(U) const + { + return make_quantity_point(quantity_ref_from(PO).force_in(U{})); + } + // member unary operators constexpr quantity_point& operator++() requires requires { ++quantity_from_origin_; }