summaryrefslogtreecommitdiff
path: root/asl/base/meta.hpp
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2025-05-08 00:15:26 +0200
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2025-05-08 00:15:26 +0200
commite1ba7dd7a976b2ce076b9361f761dd51cdf4b4ec (patch)
tree80c76c46ee2678aa39280220d1d6f82bed98ef1c /asl/base/meta.hpp
parent837f696971677b4ed2263e744a9ce6d6d3865b11 (diff)
Add enum underlying utilities
Diffstat (limited to 'asl/base/meta.hpp')
-rw-r--r--asl/base/meta.hpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/asl/base/meta.hpp b/asl/base/meta.hpp
index c13439a..3675df3 100644
--- a/asl/base/meta.hpp
+++ b/asl/base/meta.hpp
@@ -309,6 +309,8 @@ template<is_unsigned_integer T> using as_signed_integer = _integer_traits<T>::
template<typename T> concept is_enum = __is_enum(T);
+template<is_enum T> using underlying_t = __underlying_type(T);
+
template<typename T> struct is_uniquely_represented : false_type {};
template<is_integer T> struct is_uniquely_represented<T> : true_type {};
template<is_enum T> struct is_uniquely_represented<T> : true_type {};