diff --git a/FEXCore/include/FEXCore/Config/Config.h b/FEXCore/include/FEXCore/Config/Config.h index f23f6c1dd..91fc1006c 100644 --- a/FEXCore/include/FEXCore/Config/Config.h +++ b/FEXCore/include/FEXCore/Config/Config.h @@ -265,34 +265,29 @@ public: return ValueData; } - template - requires (std::is_fundamental_v) - T operator()() const { + T operator()() const requires (std::is_fundamental_v) + { return ValueData; } - template - requires (std::is_same_v) - const T& operator()() const { + const fextl::string& operator()() const requires (std::is_same_v) + { return ValueData; } - template - requires (!std::is_same_v) - Value(T Value) { + Value(T Value) requires (!std::is_same_v) + { ValueData = std::move(Value); } // Array value types. - template - requires (std::is_same_v) - Value(FEXCore::Config::ConfigOption Option, std::string_view) { + Value(FEXCore::Config::ConfigOption Option, std::string_view) requires (std::is_same_v) + { GetListIfExists(Option, &ValueData); } - template - requires (std::is_same_v) - DefaultValues::Type::StringArrayType& All() { + DefaultValues::Type::StringArrayType& All() requires (std::is_same_v) + { return ValueData; }