mirror of
https://github.com/mpusz/mp-units.git
synced 2025-08-03 20:34:26 +02:00
Number concept extended with requirements on comparison operators
This commit is contained in:
@@ -39,18 +39,20 @@ namespace std {
|
|||||||
namespace units {
|
namespace units {
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
concept bool Number = requires(T a, T b) {
|
concept bool Number = std::experimental::ranges::Regular<T> &&
|
||||||
{ a + b } -> T;
|
std::experimental::ranges::StrictTotallyOrdered<T> &&
|
||||||
{ a - b } -> T;
|
requires(T a, T b) {
|
||||||
{ a * b } -> T;
|
{ a + b } -> T;
|
||||||
{ a / b } -> T;
|
{ a - b } -> T;
|
||||||
{ -a } -> T;
|
{ a * b } -> T;
|
||||||
{ a += b } -> T&;
|
{ a / b } -> T;
|
||||||
{ a -= b } -> T&;
|
{ -a } -> T;
|
||||||
{ a *= b } -> T&;
|
{ a += b } -> T&;
|
||||||
{ a /= b } -> T&;
|
{ a -= b } -> T&;
|
||||||
{ T{0} };// can construct a T from a zero
|
{ a *= b } -> T&;
|
||||||
// …
|
{ a /= b } -> T&;
|
||||||
|
{ T{0} };// can construct a T from a zero
|
||||||
|
// …
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user