16 lines
320 B
C
16 lines
320 B
C
|
// SPDX-License-Identifier: CC0-1.0
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include <type_traits>
|
||
|
|
||
|
namespace Common
|
||
|
{
|
||
|
// TODO: Replace with std::to_underlying in C++23
|
||
|
template <typename Enum>
|
||
|
constexpr std::underlying_type_t<Enum> ToUnderlying(Enum e) noexcept
|
||
|
{
|
||
|
return static_cast<std::underlying_type_t<Enum>>(e);
|
||
|
}
|
||
|
} // namespace Common
|