diff options
author | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2023-06-21 21:41:06 -0400 |
---|---|---|
committer | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2023-07-21 10:56:55 -0400 |
commit | e7f01128f181a7b754f6d5f94122cde059c7ed1a (patch) | |
tree | f41e233577fbb839e39f91a86d3f5177aa0fa861 /src/common/settings_setting.h | |
parent | ecc1feff6478c1429648ebe003b54d974d9a3c3d (diff) |
settings: Give indices to enums
Diffstat (limited to 'src/common/settings_setting.h')
-rw-r--r-- | src/common/settings_setting.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/common/settings_setting.h b/src/common/settings_setting.h index eb46b2b6d..2e708fa0d 100644 --- a/src/common/settings_setting.h +++ b/src/common/settings_setting.h @@ -3,6 +3,7 @@ #pragma once +#include <limits> #include <map> #include <optional> #include <stdexcept> @@ -197,6 +198,14 @@ public: return std::type_index(typeid(Type)); } + constexpr u32 EnumIndex() const override { + if constexpr (std::is_enum<Type>()) { + return EnumMetadata<Type>::Index(); + } else { + return std::numeric_limits<u32>::max(); + } + } + virtual std::string MinVal() const override { return this->ToString(minimum); } |