2#ifndef LIBSBX_UTILITY_CAST_HPP_
3#define LIBSBX_UTILITY_CAST_HPP_
7namespace sbx::utility {
10[[nodiscard]]
constexpr auto underlying_cast(Type value)
noexcept -> std::underlying_type_t<Type> {
11 return static_cast<std::underlying_type_t<Type>
>(value);
14template<
typename Type>
15[[nodiscard]]
constexpr auto implicit_cast(std::type_identity_t<Type> value)
noexcept(std::is_nothrow_move_constructible_v<Type>) -> Type {