diff --git a/src/include/units/bits/tools.h b/src/include/units/bits/tools.h index 6955ebc1..eaaa183d 100644 --- a/src/include/units/bits/tools.h +++ b/src/include/units/bits/tools.h @@ -39,18 +39,20 @@ namespace std { namespace units { template - concept bool Number = 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&; - { T{0} };// can construct a T from a zero - // … + concept bool Number = std::experimental::ranges::Regular && + std::experimental::ranges::StrictTotallyOrdered && + 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&; + { T{0} };// can construct a T from a zero + // … } ;