refactor: 💥 is_XXX customization points for representation types removed
This commit is contained in:
1 parent
083ef6adb1
commit
465f88d500
21 files changed
+151
-205
No files matched your search
@@ -278,13 +278,16 @@ static_assert(!Representation<std::chrono::seconds>);
|
||||
// RepresentationOf
|
||||
static_assert(RepresentationOf<int, quantity_character::scalar>);
|
||||
static_assert(!RepresentationOf<int, quantity_character::complex>);
|
||||
static_assert(!RepresentationOf<int, quantity_character::vector>);
|
||||
static_assert(RepresentationOf<int, quantity_character::vector>);
|
||||
static_assert(!RepresentationOf<int, quantity_character::tensor>);
|
||||
static_assert(RepresentationOf<double, quantity_character::scalar>);
|
||||
static_assert(!RepresentationOf<double, quantity_character::complex>);
|
||||
static_assert(!RepresentationOf<double, quantity_character::vector>);
|
||||
static_assert(RepresentationOf<double, quantity_character::vector>);
|
||||
static_assert(!RepresentationOf<double, quantity_character::tensor>);
|
||||
static_assert(!RepresentationOf<bool, quantity_character::scalar>);
|
||||
static_assert(!RepresentationOf<bool, quantity_character::complex>);
|
||||
static_assert(!RepresentationOf<bool, quantity_character::vector>);
|
||||
static_assert(!RepresentationOf<bool, quantity_character::tensor>);
|
||||
static_assert(!RepresentationOf<std::optional<int>, quantity_character::scalar>);
|
||||
#if MP_UNITS_HOSTED
|
||||
static_assert(RepresentationOf<std::complex<double>, quantity_character::complex>);
|
||||
|
||||
@@ -60,9 +60,6 @@ public:
|
||||
|
||||
} // namespace
|
||||
|
||||
template<typename T>
|
||||
constexpr bool mp_units::is_scalar<min_impl<T>> = true;
|
||||
|
||||
template<typename T, typename U>
|
||||
struct std::common_type<min_impl<T>, min_impl<U>> : std::type_identity<min_impl<std::common_type_t<T, U>>> {};
|
||||
template<typename T, typename U>
|
||||
|
||||
@@ -24,10 +24,6 @@
|
||||
#include <mp-units/systems/isq/mechanics.h>
|
||||
#include <mp-units/systems/si.h>
|
||||
|
||||
template<class T>
|
||||
requires mp_units::is_scalar<T>
|
||||
constexpr bool mp_units::is_vector<T> = true;
|
||||
|
||||
namespace {
|
||||
|
||||
using namespace mp_units;
|
||||
|
||||
@@ -26,10 +26,6 @@
|
||||
#include <mp-units/systems/si/constants.h>
|
||||
#include <mp-units/systems/si/units.h>
|
||||
|
||||
template<class T>
|
||||
requires mp_units::is_scalar<T>
|
||||
constexpr bool mp_units::is_vector<T> = true;
|
||||
|
||||
namespace {
|
||||
|
||||
using namespace mp_units;
|
||||
|
||||
@@ -22,10 +22,6 @@
|
||||
|
||||
#include <mp-units/systems/natural.h>
|
||||
|
||||
template<class T>
|
||||
requires mp_units::is_scalar<T>
|
||||
constexpr bool mp_units::is_vector<T> = true;
|
||||
|
||||
namespace {
|
||||
|
||||
using namespace mp_units;
|
||||
|
||||
@@ -47,9 +47,6 @@ import std;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
template<>
|
||||
constexpr bool mp_units::is_vector<int> = true;
|
||||
|
||||
namespace {
|
||||
|
||||
using namespace mp_units;
|
||||
@@ -74,8 +71,10 @@ concept invalid_types = requires {
|
||||
requires !requires { typename Q<isq::length, double>; }; // quantity_spec instead of reference
|
||||
requires !requires { typename Q<isq::length[m], bool>; }; // bool is not a valid representation type
|
||||
requires !requires { typename Q<isq::length[m], quantity<isq::length[m]>>; }; // quantity used as Rep
|
||||
requires !requires { typename Q<isq::position_vector[si::metre], double>; }; // vector representation expected
|
||||
#if MP_UNITS_HOSTED
|
||||
requires !requires {
|
||||
typename Q<isq::position_vector[si::metre], std::complex<double>>;
|
||||
}; // vector representation expected
|
||||
requires !requires {
|
||||
typename Q<isq::length[si::metre], cartesian_vector<double>>;
|
||||
}; // scalar representation expected
|
||||
|
||||
Reference in new issue
Block a user