gcc-10 enabled

This commit is contained in:
Mateusz Pusz
2019-10-17 18:22:51 +02:00
parent f147da202e
commit 95028d10a7
6 changed files with 54 additions and 17 deletions
+26
View File
@@ -26,6 +26,8 @@
namespace units {
#if __GNUC__ < 10
template<typename T>
concept Number = std::regular<T> &&
std::totally_ordered<T> &&
@@ -44,4 +46,28 @@ namespace units {
// …
};
#else
template<typename T>
concept Number = std::regular<T> &&
std::totally_ordered<T> &&
requires(T a, T b) {
{ a + b } -> std::same_as<T>;
{ a - b } -> std::same_as<T>;
{ a * b } -> std::same_as<T>;
{ a / b } -> std::same_as<T>;
{ +a } -> std::same_as<T>;
{ -a } -> std::same_as<T>;
{ a += b } -> std::same_as<T&>;
{ a -= b } -> std::same_as<T&>;
{ a *= b } -> std::same_as<T&>;
{ a /= b } -> std::same_as<T&>;
{ T{0} }; // can construct a T from a zero
// …
};
#endif
// InstanceOf
} // namespace units
+6
View File
@@ -31,6 +31,12 @@
#define Expects(cond) assert(cond);
#endif
#if __GNUC__ > 9
#define AUTO auto
#else
#define AUTO
#endif
namespace std {
// concepts