1
1
Fork 0
forked from suyu/suyu

common/input: Pass ParamPackage by const reference in CreateDevice

This was previously being passed by value, which was unnecessary and
created more allocations than necessary.
This commit is contained in:
Lioncash 2022-11-28 09:11:56 -05:00
parent 6291eec700
commit 7f42432f42

View file

@ -417,12 +417,12 @@ std::unique_ptr<InputDeviceType> CreateDeviceFromString(const std::string& param
} }
/** /**
* Create an input device from given paramters. * Create an input device from given parameters.
* @tparam InputDeviceType the type of input devices to create * @tparam InputDeviceType the type of input devices to create
* @param A ParamPackage that contains all parameters for creating the device * @param package A ParamPackage that contains all parameters for creating the device
*/ */
template <typename InputDeviceType> template <typename InputDeviceType>
std::unique_ptr<InputDeviceType> CreateDevice(const Common::ParamPackage package) { std::unique_ptr<InputDeviceType> CreateDevice(const ParamPackage& package) {
const std::string engine = package.Get("engine", "null"); const std::string engine = package.Get("engine", "null");
const auto& factory_list = Impl::FactoryList<InputDeviceType>::list; const auto& factory_list = Impl::FactoryList<InputDeviceType>::list;
const auto pair = factory_list.find(engine); const auto pair = factory_list.find(engine);