summaryrefslogtreecommitdiffhomepage
path: root/entity/constraints.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2024-04-03 23:56:57 +0200
committerStanislaw Halik <sthalik@misaki.pl>2024-04-04 00:16:57 +0200
commit437794834f64a2ef2111f9e9437ab876eff4df88 (patch)
tree3466e01b5a008b190e4f9bb8d70afc9552107598 /entity/constraints.hpp
parent949a94fd81c3f5f1788c17bb986dd9dde2f9c735 (diff)
entity: fix getting enum min/max
Diffstat (limited to 'entity/constraints.hpp')
-rw-r--r--entity/constraints.hpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/entity/constraints.hpp b/entity/constraints.hpp
index c807fddc..6a5587d5 100644
--- a/entity/constraints.hpp
+++ b/entity/constraints.hpp
@@ -26,6 +26,14 @@ struct limit_traits<T>
};
template<typename T>
+requires std::is_enum_v<T>
+struct limit_traits<T>
+{
+ static constexpr T min() { return T(limits<std::underlying_type_t<T>>::min); }
+ static constexpr T max() { return T(limits<std::underlying_type_t<T>>::max); }
+};
+
+template<typename T>
struct limit_traits
{
static_assert(std::is_nothrow_default_constructible_v<T>);