diff --git a/src/include/units/dimensions/acceleration.h b/src/include/units/dimensions/acceleration.h index c14ebd2b..5a3a88a0 100644 --- a/src/include/units/dimensions/acceleration.h +++ b/src/include/units/dimensions/acceleration.h @@ -30,7 +30,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Acceleration = Quantity && std::same_as; + concept bool Acceleration = QuantityOf; struct metre_per_second_sq : derived_unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/area.h b/src/include/units/dimensions/area.h index 03f8a84b..c111b6ee 100644 --- a/src/include/units/dimensions/area.h +++ b/src/include/units/dimensions/area.h @@ -30,7 +30,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Area = Quantity && std::same_as; + concept bool Area = QuantityOf; struct square_millimetre : derived_unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/capacitance.h b/src/include/units/dimensions/capacitance.h index cf77b7ac..d1fbfe4f 100644 --- a/src/include/units/dimensions/capacitance.h +++ b/src/include/units/dimensions/capacitance.h @@ -32,7 +32,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Capacitance = Quantity && std::same_as; + concept bool Capacitance = QuantityOf; struct farad : derived_unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/current.h b/src/include/units/dimensions/current.h index db9b02d9..a9adc210 100644 --- a/src/include/units/dimensions/current.h +++ b/src/include/units/dimensions/current.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Current = Quantity && std::same_as; + concept bool Current = QuantityOf; struct ampere : unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/electric_charge.h b/src/include/units/dimensions/electric_charge.h index fdcfb626..f634ce71 100644 --- a/src/include/units/dimensions/electric_charge.h +++ b/src/include/units/dimensions/electric_charge.h @@ -32,7 +32,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool ElectricCharge = Quantity && std::same_as; + concept bool ElectricCharge = QuantityOf; struct coulomb : derived_unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/energy.h b/src/include/units/dimensions/energy.h index bf381f39..3cd1ff5d 100644 --- a/src/include/units/dimensions/energy.h +++ b/src/include/units/dimensions/energy.h @@ -32,7 +32,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Energy = Quantity && std::same_as; + concept bool Energy = QuantityOf; struct joule : derived_unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/force.h b/src/include/units/dimensions/force.h index 153fcdec..7f0e24c7 100644 --- a/src/include/units/dimensions/force.h +++ b/src/include/units/dimensions/force.h @@ -33,7 +33,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Force = Quantity && std::same_as; + concept bool Force = QuantityOf; struct newton : derived_unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/frequency.h b/src/include/units/dimensions/frequency.h index b8853672..528cd23e 100644 --- a/src/include/units/dimensions/frequency.h +++ b/src/include/units/dimensions/frequency.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Frequency = Quantity && std::same_as; + concept bool Frequency = QuantityOf; struct hertz : derived_unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/length.h b/src/include/units/dimensions/length.h index 6cf457fd..fefb59bc 100644 --- a/src/include/units/dimensions/length.h +++ b/src/include/units/dimensions/length.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Length = Quantity && std::same_as; + concept bool Length = QuantityOf; // SI units struct metre : unit {}; diff --git a/src/include/units/dimensions/luminous_intensity.h b/src/include/units/dimensions/luminous_intensity.h index 47717ebb..e4d84c12 100644 --- a/src/include/units/dimensions/luminous_intensity.h +++ b/src/include/units/dimensions/luminous_intensity.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool LuminousIntensity = Quantity && std::same_as; + concept bool LuminousIntensity = QuantityOf; struct candela : unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/mass.h b/src/include/units/dimensions/mass.h index c3bb12cd..312e6bf7 100644 --- a/src/include/units/dimensions/mass.h +++ b/src/include/units/dimensions/mass.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Mass = Quantity && std::same_as; + concept bool Mass = QuantityOf; struct gram : unit> {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/power.h b/src/include/units/dimensions/power.h index a461c3b2..63f39135 100644 --- a/src/include/units/dimensions/power.h +++ b/src/include/units/dimensions/power.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Power = Quantity && std::same_as; + concept bool Power = QuantityOf; struct watt : derived_unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/pressure.h b/src/include/units/dimensions/pressure.h index e2f7ffff..d3ec83b5 100644 --- a/src/include/units/dimensions/pressure.h +++ b/src/include/units/dimensions/pressure.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Pressure = Quantity && std::same_as; + concept bool Pressure = QuantityOf; struct pascal : derived_unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/substance.h b/src/include/units/dimensions/substance.h index eca2fa1e..b8864268 100644 --- a/src/include/units/dimensions/substance.h +++ b/src/include/units/dimensions/substance.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool Substance = Quantity && std::same_as; + concept bool Substance = QuantityOf; struct mole : unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/temperature.h b/src/include/units/dimensions/temperature.h index a41f7e88..6ed30694 100644 --- a/src/include/units/dimensions/temperature.h +++ b/src/include/units/dimensions/temperature.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to {}; template - concept bool ThermodynamicTemperature = Quantity && std::same_as; + concept bool ThermodynamicTemperature = QuantityOf; struct kelvin : unit {}; template<> struct downcasting_traits> : downcast_to {}; diff --git a/src/include/units/dimensions/time.h b/src/include/units/dimensions/time.h index d1f53f1c..290c7c8b 100644 --- a/src/include/units/dimensions/time.h +++ b/src/include/units/dimensions/time.h @@ -31,7 +31,7 @@ namespace std::experimental::units { template<> struct downcasting_traits> : downcast_to