mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	emulated_controller: Use std::move() in GetMappedDevices()
Avoids churning allocations in a loop.
This commit is contained in:
		@@ -432,7 +432,7 @@ std::vector<Common::ParamPackage> EmulatedController::GetMappedDevices(
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        const auto devices_it = std::find_if(
 | 
			
		||||
            devices.begin(), devices.end(), [param](const Common::ParamPackage param_) {
 | 
			
		||||
            devices.begin(), devices.end(), [¶m](const Common::ParamPackage& param_) {
 | 
			
		||||
                return param.Get("engine", "") == param_.Get("engine", "") &&
 | 
			
		||||
                       param.Get("guid", "") == param_.Get("guid", "") &&
 | 
			
		||||
                       param.Get("port", 0) == param_.Get("port", 0) &&
 | 
			
		||||
@@ -441,12 +441,12 @@ std::vector<Common::ParamPackage> EmulatedController::GetMappedDevices(
 | 
			
		||||
        if (devices_it != devices.end()) {
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        Common::ParamPackage device{};
 | 
			
		||||
 | 
			
		||||
        auto& device = devices.emplace_back();
 | 
			
		||||
        device.Set("engine", param.Get("engine", ""));
 | 
			
		||||
        device.Set("guid", param.Get("guid", ""));
 | 
			
		||||
        device.Set("port", param.Get("port", 0));
 | 
			
		||||
        device.Set("pad", param.Get("pad", 0));
 | 
			
		||||
        devices.push_back(device);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (const auto& param : stick_params) {
 | 
			
		||||
@@ -457,7 +457,7 @@ std::vector<Common::ParamPackage> EmulatedController::GetMappedDevices(
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        const auto devices_it = std::find_if(
 | 
			
		||||
            devices.begin(), devices.end(), [param](const Common::ParamPackage param_) {
 | 
			
		||||
            devices.begin(), devices.end(), [¶m](const Common::ParamPackage& param_) {
 | 
			
		||||
                return param.Get("engine", "") == param_.Get("engine", "") &&
 | 
			
		||||
                       param.Get("guid", "") == param_.Get("guid", "") &&
 | 
			
		||||
                       param.Get("port", 0) == param_.Get("port", 0) &&
 | 
			
		||||
@@ -466,12 +466,12 @@ std::vector<Common::ParamPackage> EmulatedController::GetMappedDevices(
 | 
			
		||||
        if (devices_it != devices.end()) {
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        Common::ParamPackage device{};
 | 
			
		||||
 | 
			
		||||
        auto& device = devices.emplace_back();
 | 
			
		||||
        device.Set("engine", param.Get("engine", ""));
 | 
			
		||||
        device.Set("guid", param.Get("guid", ""));
 | 
			
		||||
        device.Set("port", param.Get("port", 0));
 | 
			
		||||
        device.Set("pad", param.Get("pad", 0));
 | 
			
		||||
        devices.push_back(device);
 | 
			
		||||
    }
 | 
			
		||||
    return devices;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user