aboutsummaryrefslogtreecommitdiff
path: root/src/common/settings_setting.h
diff options
context:
space:
mode:
authorlat9nq <22451773+lat9nq@users.noreply.github.com>2023-06-21 21:41:06 -0400
committerlat9nq <22451773+lat9nq@users.noreply.github.com>2023-07-21 10:56:55 -0400
commit7168d30a6ebe3b8ec92fb751d15429032ebd85b2 (patch)
treef41e233577fbb839e39f91a86d3f5177aa0fa861 /src/common/settings_setting.h
parent7f3b6edfefdd464cd3ab250088b3853107c1460c (diff)
settings: Give indices to enums
Diffstat (limited to 'src/common/settings_setting.h')
-rw-r--r--src/common/settings_setting.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/common/settings_setting.h b/src/common/settings_setting.h
index eb46b2b6d4..2e708fa0d1 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);
}