mirror of
https://github.com/mpusz/mp-units.git
synced 2025-07-29 18:07:16 +02:00
UnitRep extended
This commit is contained in:
@ -53,13 +53,21 @@ namespace units {
|
||||
// UnitRep
|
||||
template<typename 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) {
|
||||
{ ::units::isfinite(std::forward<T>(a)) } -> bool;
|
||||
{ ::units::isnan(std::forward<T>(a)) } -> bool;
|
||||
::units::isfinite(std::forward<T>(a));
|
||||
::units::isnan(std::forward<T>(a));
|
||||
});
|
||||
|
||||
|
||||
template<Unit U, UnitRep Rep>
|
||||
class quantity;
|
||||
|
||||
|
Reference in New Issue
Block a user