From c95e20c7ea90a5c53d5ba423c2a9420f66548348 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Tue, 11 May 2021 19:39:50 +0200 Subject: [PATCH] refactor: `quantity_kind` constructors merged into one Relates to #221 --- src/core/include/units/quantity_kind.h | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/core/include/units/quantity_kind.h b/src/core/include/units/quantity_kind.h index 80a0c90a..ccb4c1b6 100644 --- a/src/core/include/units/quantity_kind.h +++ b/src/core/include/units/quantity_kind.h @@ -93,16 +93,13 @@ public: quantity_kind(const quantity_kind&) = default; quantity_kind(quantity_kind&&) = default; - template - requires std::same_as && - safe_convertible_to_, rep> && - std::constructible_from - constexpr explicit quantity_kind(Value&& v) : q_(std::forward(v)) {} - - template - requires (Quantity> || QuantityLike>) && - std::constructible_from - constexpr explicit quantity_kind(Q&& q) : q_(std::forward(q)) {} + template + requires + (Quantity> || + QuantityLike> || + (Dimensionless && !Quantity>)) && + std::constructible_from + constexpr explicit quantity_kind(T&& t) : q_(std::forward(t)) {} template QK2> requires std::convertible_to