diff options
Diffstat (limited to 'asl/base/utility.hpp')
-rw-r--r-- | asl/base/utility.hpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/asl/base/utility.hpp b/asl/base/utility.hpp index f371ab4..c4801b1 100644 --- a/asl/base/utility.hpp +++ b/asl/base/utility.hpp @@ -69,6 +69,12 @@ constexpr U bit_cast(T value) requires (sizeof(T) == sizeof(U)) return __builtin_bit_cast(U, value); } +template<is_enum T> +constexpr auto to_underlying(T value) +{ + return static_cast<underlying_t<T>>(value); +} + // NOLINTBEGIN(*-macro-parentheses) #define ASL_DELETE_COPY(T) \ T(const T&) = delete; \ |