refactor: dimensions design cleanup

This commit is contained in:
Mateusz Pusz committed 2022-10-18 17:52:52 +02:00
1 parent 3194d45b08
commit 6e8ca72678
6 files changed
+133 -55

No files matched your search

+11 -5
View File
@@ -136,11 +136,11 @@ template<Representation Rep, Reference R>
void /*Use `q * (1 * r)` rather than `q * r`.*/ operator*(Quantity auto, Reference auto) = delete;
template<Reference R1, Reference R2>
[[nodiscard]] consteval bool equivalent(R1, R2)
{
return equivalent(R1::dimension, R2::dimension) && equivalent(R1::unit, R2::unit);
}
// template<Reference R1, Reference R2>
// [[nodiscard]] consteval bool equivalent(R1, R2)
// {
// return equivalent(R1::dimension, R2::dimension) && R1::unit == R2::unit;
// }
template<Reference R1, Reference R2>
[[nodiscard]] consteval bool convertible(R1, R2)
@@ -148,6 +148,12 @@ template<Reference R1, Reference R2>
return convertible(R1::dimension, R2::dimension) && convertible(R1::unit, R2::unit);
}
// template<Reference R1, Reference R2>
// [[nodiscard]] consteval bool castable(R1, R2)
// {
// return equivalent(R1::dimension, R2::dimension) && convertible(R1::unit, R2::unit);
// }
template<Dimension auto Dim, Unit auto CoU>
struct system_reference {