mirror of
https://github.com/mpusz/mp-units.git
synced 2025-06-25 01:01:33 +02:00
feat: explicit constructor now can perform an explicit quantity_spec
conversion
This commit is contained in:
@ -705,8 +705,8 @@ static_assert(
|
||||
!std::convertible_to<quantity_point<si::kelvin, si::ice_point>, quantity_point<isq::height[m], mean_sea_level>>);
|
||||
|
||||
// non-convertible quantity_specs
|
||||
static_assert(!std::constructible_from<quantity_point<special_height[m], mean_sea_level>,
|
||||
quantity_point<isq::height[m], mean_sea_level>>);
|
||||
static_assert(std::constructible_from<quantity_point<special_height[m], mean_sea_level>,
|
||||
quantity_point<isq::height[m], mean_sea_level>>);
|
||||
static_assert(!std::convertible_to<quantity_point<isq::height[m], mean_sea_level>,
|
||||
quantity_point<special_height[m], mean_sea_level>>);
|
||||
|
||||
@ -766,8 +766,8 @@ static_assert(std::constructible_from<quantity_point<isq::height[m], mean_sea_le
|
||||
static_assert(std::convertible_to<quantity_point<special_height[m], mean_sea_level>,
|
||||
quantity_point<isq::height[m], mean_sea_level>>);
|
||||
|
||||
static_assert(!std::constructible_from<quantity_point<special_height[m], mean_sea_level>,
|
||||
quantity_point<isq::height[m], mean_sea_level>>);
|
||||
static_assert(std::constructible_from<quantity_point<special_height[m], mean_sea_level>,
|
||||
quantity_point<isq::height[m], mean_sea_level>>);
|
||||
static_assert(!std::convertible_to<quantity_point<isq::height[m], mean_sea_level>,
|
||||
quantity_point<special_height[m], mean_sea_level>>);
|
||||
|
||||
|
@ -224,6 +224,7 @@ static_assert(std::convertible_to<quantity<si::metre, cartesian_vector<double>>,
|
||||
quantity<isq::position_vector[m], cartesian_vector<double>>>);
|
||||
#endif
|
||||
|
||||
|
||||
// conversion between different quantities not allowed
|
||||
static_assert(!std::constructible_from<quantity<isq::length[m]>, quantity<isq::time[s]>>);
|
||||
static_assert(!std::convertible_to<quantity<isq::time[s]>, quantity<isq::length[m]>>);
|
||||
@ -263,6 +264,11 @@ static_assert(!std::convertible_to<quantity<rad>, quantity<one>>);
|
||||
static_assert(!std::convertible_to<quantity<isq::angular_measure[one]>, quantity<dimensionless[one]>>);
|
||||
static_assert(!std::convertible_to<quantity<isq::angular_measure[one]>, quantity<one>>);
|
||||
|
||||
// explicit-construction only
|
||||
static_assert(std::constructible_from<quantity<isq::distance[m]>, quantity<isq::length[m]>>);
|
||||
static_assert(!std::convertible_to<quantity<isq::length[m]>, quantity<isq::distance[m]>>);
|
||||
|
||||
|
||||
///////////////////////
|
||||
// obtaining a number
|
||||
///////////////////////
|
||||
|
Reference in New Issue
Block a user