mirror of
https://github.com/mpusz/mp-units.git
synced 2025-07-30 10:27:16 +02:00
UnitRep extended
This commit is contained in:
@ -53,13 +53,21 @@ namespace units {
|
|||||||
// UnitRep
|
// UnitRep
|
||||||
template<typename T>
|
template<typename T>
|
||||||
concept UnitRep = Scalar<T> &&
|
concept UnitRep = Scalar<T> &&
|
||||||
(treat_as_floating_point<T> == false ||
|
// integral
|
||||||
|
((treat_as_floating_point<T> == false &&
|
||||||
|
requires(T a, T b) {
|
||||||
|
{ a % b } -> T;
|
||||||
|
{ a++ } -> T;
|
||||||
|
{ ++a } -> T&;
|
||||||
|
{ a-- } -> T;
|
||||||
|
{ --a } -> T&;
|
||||||
|
}) ||
|
||||||
|
// floating-point
|
||||||
requires(T&& a) {
|
requires(T&& a) {
|
||||||
{ ::units::isfinite(std::forward<T>(a)) } -> bool;
|
::units::isfinite(std::forward<T>(a));
|
||||||
{ ::units::isnan(std::forward<T>(a)) } -> bool;
|
::units::isnan(std::forward<T>(a));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
template<Unit U, UnitRep Rep>
|
template<Unit U, UnitRep Rep>
|
||||||
class quantity;
|
class quantity;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user