mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-04-26 22:41:07 +00:00
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those. In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
// Copyright 2017 Dolphin Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "Core/ConfigLoaders/IsSettingSaveable.h"
|
|
|
|
#include <algorithm>
|
|
#include <array>
|
|
|
|
#include "Core/Config/WiimoteSettings.h"
|
|
|
|
namespace ConfigLoaders
|
|
{
|
|
bool IsSettingSaveable(const Config::Location& config_location)
|
|
{
|
|
static constexpr std::array systems_not_saveable = {Config::System::GCPad, Config::System::WiiPad,
|
|
Config::System::GCKeyboard};
|
|
|
|
if (std::find(begin(systems_not_saveable), end(systems_not_saveable), config_location.system) ==
|
|
end(systems_not_saveable))
|
|
{
|
|
return true;
|
|
}
|
|
|
|
static const auto s_setting_saveable = {
|
|
&Config::WIIMOTE_1_SOURCE.GetLocation(), &Config::WIIMOTE_2_SOURCE.GetLocation(),
|
|
&Config::WIIMOTE_3_SOURCE.GetLocation(), &Config::WIIMOTE_4_SOURCE.GetLocation(),
|
|
&Config::WIIMOTE_BB_SOURCE.GetLocation(),
|
|
};
|
|
|
|
return std::ranges::any_of(s_setting_saveable, [&config_location](const auto* location) {
|
|
return *location == config_location;
|
|
});
|
|
}
|
|
} // namespace ConfigLoaders
|