mirror of
https://github.com/izzy2lost/dolphin.git
synced 2026-06-19 01:16:48 -07:00
Modernize std::any_of with ranges
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.
This commit is contained in:
@@ -91,7 +91,7 @@ void MemoryPatches::DisablePatch(const Core::CPUThreadGuard& guard, std::size_t
|
||||
|
||||
bool MemoryPatches::HasEnabledPatch(u32 address) const
|
||||
{
|
||||
return std::any_of(m_patches.begin(), m_patches.end(), [address](const MemoryPatch& patch) {
|
||||
return std::ranges::any_of(m_patches, [address](const MemoryPatch& patch) {
|
||||
return patch.address == address && patch.is_enabled == MemoryPatch::State::Enabled;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ void Watches::DisableWatch(std::size_t index)
|
||||
|
||||
bool Watches::HasEnabledWatch(u32 address) const
|
||||
{
|
||||
return std::any_of(m_watches.begin(), m_watches.end(), [address](const auto& watch) {
|
||||
return std::ranges::any_of(m_watches, [address](const auto& watch) {
|
||||
return watch.address == address && watch.is_enabled == Watch::State::Enabled;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ std::vector<std::string> DoFileSearch(const std::vector<std::string>& directorie
|
||||
// N.B. This avoids doing any copies
|
||||
auto ext_matches = [&native_exts](const fs::path& path) {
|
||||
const std::basic_string_view<fs::path::value_type> native_path = path.native();
|
||||
return std::any_of(native_exts.cbegin(), native_exts.cend(), [&native_path](const auto& ext) {
|
||||
return std::ranges::any_of(native_exts, [&native_path](const auto& ext) {
|
||||
const auto compare_len = ext.native().length();
|
||||
if (native_path.length() < compare_len)
|
||||
return false;
|
||||
|
||||
@@ -114,9 +114,8 @@ public:
|
||||
for (const auto& value : section_map)
|
||||
{
|
||||
const Config::Location location{system.first, section_name, value.first};
|
||||
const bool load_disallowed =
|
||||
std::any_of(begin(s_setting_disallowed), end(s_setting_disallowed),
|
||||
[&location](const Config::Location* l) { return *l == location; });
|
||||
const bool load_disallowed = std::ranges::any_of(
|
||||
s_setting_disallowed, [&location](const auto* l) { return *l == location; });
|
||||
if (load_disallowed)
|
||||
continue;
|
||||
|
||||
|
||||
@@ -27,9 +27,8 @@ bool IsSettingSaveable(const Config::Location& config_location)
|
||||
&Config::WIIMOTE_BB_SOURCE.GetLocation(),
|
||||
};
|
||||
|
||||
return std::any_of(begin(s_setting_saveable), end(s_setting_saveable),
|
||||
[&config_location](const Config::Location* location) {
|
||||
return *location == config_location;
|
||||
});
|
||||
return std::ranges::any_of(s_setting_saveable, [&config_location](const auto* location) {
|
||||
return *location == config_location;
|
||||
});
|
||||
}
|
||||
} // namespace ConfigLoaders
|
||||
|
||||
@@ -267,8 +267,8 @@ HitType CodeTrace::TraceLogic(const TraceOutput& current_instr, bool first_hit)
|
||||
|
||||
// Checks if the intstruction is a type that needs special handling.
|
||||
const auto CompareInstruction = [](std::string_view instruction, const auto& type_compare) {
|
||||
return std::any_of(type_compare.begin(), type_compare.end(),
|
||||
[&instruction](std::string_view s) { return instruction.starts_with(s); });
|
||||
return std::ranges::any_of(
|
||||
type_compare, [&instruction](std::string_view s) { return instruction.starts_with(s); });
|
||||
};
|
||||
|
||||
// Exclusions from updating tracking logic. mt operations are too complex and specialized.
|
||||
|
||||
@@ -101,8 +101,8 @@ std::pair<GCMemcardErrorCode, std::optional<GCMemcard>> GCMemcard::Open(std::str
|
||||
MBIT_SIZE_MEMORY_CARD_2043,
|
||||
}};
|
||||
|
||||
if (!std::any_of(valid_megabits.begin(), valid_megabits.end(),
|
||||
[filesize_megabits](u64 mbits) { return mbits == filesize_megabits; }))
|
||||
if (!std::ranges::any_of(valid_megabits,
|
||||
[filesize_megabits](u64 mbits) { return mbits == filesize_megabits; }))
|
||||
{
|
||||
error_code.Set(GCMemcardValidityIssues::INVALID_CARD_SIZE);
|
||||
return std::make_pair(error_code, std::nullopt);
|
||||
@@ -1296,8 +1296,8 @@ GCMemcardErrorCode Header::CheckForErrors(u16 card_size_mbits) const
|
||||
error_code.Set(GCMemcardValidityIssues::MISMATCHED_CARD_SIZE);
|
||||
|
||||
// unused areas, should always be filled with 0xFF
|
||||
if (std::any_of(m_unused_1.begin(), m_unused_1.end(), [](u8 val) { return val != 0xFF; }) ||
|
||||
std::any_of(m_unused_2.begin(), m_unused_2.end(), [](u8 val) { return val != 0xFF; }))
|
||||
if (std::ranges::any_of(m_unused_1, [](u8 val) { return val != 0xFF; }) ||
|
||||
std::ranges::any_of(m_unused_2, [](u8 val) { return val != 0xFF; }))
|
||||
{
|
||||
error_code.Set(GCMemcardValidityIssues::DATA_IN_UNUSED_AREA);
|
||||
}
|
||||
@@ -1361,7 +1361,7 @@ GCMemcardErrorCode Directory::CheckForErrors() const
|
||||
error_code.Set(GCMemcardValidityIssues::INVALID_CHECKSUM);
|
||||
|
||||
// unused area, should always be filled with 0xFF
|
||||
if (std::any_of(m_padding.begin(), m_padding.end(), [](u8 val) { return val != 0xFF; }))
|
||||
if (std::ranges::any_of(m_padding, [](u8 val) { return val != 0xFF; }))
|
||||
error_code.Set(GCMemcardValidityIssues::DATA_IN_UNUSED_AREA);
|
||||
|
||||
return error_code;
|
||||
|
||||
@@ -613,8 +613,7 @@ void WiimoteScanner::SetScanMode(WiimoteScanMode scan_mode)
|
||||
bool WiimoteScanner::IsReady() const
|
||||
{
|
||||
std::lock_guard lg(m_backends_mutex);
|
||||
return std::any_of(m_backends.begin(), m_backends.end(),
|
||||
[](const auto& backend) { return backend->IsReady(); });
|
||||
return std::ranges::any_of(m_backends, &WiimoteScannerBackend::IsReady);
|
||||
}
|
||||
|
||||
static void CheckForDisconnectedWiimotes()
|
||||
|
||||
@@ -878,7 +878,7 @@ ReturnCode ESCore::DeleteSharedContent(const std::array<u8, 20>& sha1) const
|
||||
|
||||
// Check whether the shared content is used by a system title.
|
||||
const std::vector<u64> titles = GetInstalledTitles();
|
||||
const bool is_used_by_system_title = std::any_of(titles.begin(), titles.end(), [&](u64 id) {
|
||||
const bool is_used_by_system_title = std::ranges::any_of(titles, [&](u64 id) {
|
||||
if (!ES::IsTitleType(id, ES::TitleType::System))
|
||||
return false;
|
||||
|
||||
@@ -887,8 +887,8 @@ ReturnCode ESCore::DeleteSharedContent(const std::array<u8, 20>& sha1) const
|
||||
return true;
|
||||
|
||||
const auto contents = tmd.GetContents();
|
||||
return std::any_of(contents.begin(), contents.end(),
|
||||
[&sha1](const auto& content) { return content.sha1 == sha1; });
|
||||
return std::ranges::any_of(contents,
|
||||
[&sha1](const auto& content) { return content.sha1 == sha1; });
|
||||
});
|
||||
|
||||
// Any shared content used by a system title cannot be deleted.
|
||||
|
||||
@@ -26,7 +26,7 @@ bool IsValidNonRootPath(std::string_view path)
|
||||
bool IsValidFilename(std::string_view filename)
|
||||
{
|
||||
return filename.length() <= MaxFilenameLength &&
|
||||
!std::any_of(filename.begin(), filename.end(), [](char c) { return c == '/'; });
|
||||
!std::ranges::any_of(filename, [](char c) { return c == '/'; });
|
||||
}
|
||||
|
||||
SplitPathResult SplitPathAndBasename(std::string_view path)
|
||||
|
||||
@@ -515,14 +515,14 @@ ResultCode HostFileSystem::CreateDirectory(Uid uid, Gid gid, const std::string&
|
||||
|
||||
bool HostFileSystem::IsFileOpened(const std::string& path) const
|
||||
{
|
||||
return std::any_of(m_handles.begin(), m_handles.end(), [&path](const Handle& handle) {
|
||||
return std::ranges::any_of(m_handles, [&path](const Handle& handle) {
|
||||
return handle.opened && handle.wii_path == path;
|
||||
});
|
||||
}
|
||||
|
||||
bool HostFileSystem::IsDirectoryInUse(const std::string& path) const
|
||||
{
|
||||
return std::any_of(m_handles.begin(), m_handles.end(), [&path](const Handle& handle) {
|
||||
return std::ranges::any_of(m_handles, [&path](const Handle& handle) {
|
||||
return handle.opened && handle.wii_path.starts_with(path);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -58,8 +58,8 @@ bool WC24FriendList::CheckFriendList() const
|
||||
|
||||
bool WC24FriendList::DoesFriendExist(u64 friend_id) const
|
||||
{
|
||||
return std::any_of(m_data.friend_codes.cbegin(), m_data.friend_codes.cend(),
|
||||
[&friend_id](const u64 v) { return v == friend_id; });
|
||||
return std::ranges::any_of(m_data.friend_codes,
|
||||
[&friend_id](const u64 v) { return v == friend_id; });
|
||||
}
|
||||
|
||||
std::vector<u64> WC24FriendList::GetUnconfirmedFriends() const
|
||||
|
||||
@@ -74,7 +74,7 @@ bool Device::HasClass(const u8 device_class) const
|
||||
if (GetDeviceDescriptor().bDeviceClass == device_class)
|
||||
return true;
|
||||
const auto interfaces = GetInterfaces(0);
|
||||
return std::any_of(interfaces.begin(), interfaces.end(), [device_class](const auto& interface) {
|
||||
return std::ranges::any_of(interfaces, [device_class](const auto& interface) {
|
||||
return interface.bInterfaceClass == device_class;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -234,7 +234,7 @@ std::optional<IPCReply> OH0::RegisterClassChangeHook(const IOCtlVRequest& reques
|
||||
|
||||
bool OH0::HasDeviceWithVidPid(const u16 vid, const u16 pid) const
|
||||
{
|
||||
return std::any_of(m_devices.begin(), m_devices.end(), [=](const auto& device) {
|
||||
return std::ranges::any_of(m_devices, [=](const auto& device) {
|
||||
return device.second->GetVid() == vid && device.second->GetPid() == pid;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -380,9 +380,9 @@ bool IsEmulated(u32 major_version)
|
||||
if (major_version == static_cast<u32>(Titles::BC & 0xffffffff))
|
||||
return true;
|
||||
|
||||
return std::any_of(
|
||||
ios_memory_values.begin(), ios_memory_values.end(),
|
||||
[major_version](const MemoryValues& values) { return values.ios_number == major_version; });
|
||||
return std::ranges::any_of(ios_memory_values, [major_version](const MemoryValues& values) {
|
||||
return values.ios_number == major_version;
|
||||
});
|
||||
}
|
||||
|
||||
bool IsEmulated(u64 title_id)
|
||||
|
||||
@@ -375,8 +375,8 @@ s32 WFSSRVDevice::Rename(std::string source, std::string dest) const
|
||||
|
||||
INFO_LOG_FMT(IOS_WFS, "IOCTL_WFS_RENAME: {} to {}", source, dest);
|
||||
|
||||
const bool opened = std::any_of(m_fds.begin(), m_fds.end(),
|
||||
[&](const auto& fd) { return fd.in_use && fd.path == source; });
|
||||
const bool opened =
|
||||
std::ranges::any_of(m_fds, [&](const auto& fd) { return fd.in_use && fd.path == source; });
|
||||
|
||||
if (opened)
|
||||
return WFS_FILE_IS_OPENED;
|
||||
|
||||
@@ -2486,8 +2486,8 @@ bool NetPlayClient::PlayerHasControllerMapped(const PlayerId pid) const
|
||||
{
|
||||
const auto mapping_matches_player_id = [pid](const PlayerId& mapping) { return mapping == pid; };
|
||||
|
||||
return std::any_of(m_pad_map.begin(), m_pad_map.end(), mapping_matches_player_id) ||
|
||||
std::any_of(m_wiimote_map.begin(), m_wiimote_map.end(), mapping_matches_player_id);
|
||||
return std::ranges::any_of(m_pad_map, mapping_matches_player_id) ||
|
||||
std::ranges::any_of(m_wiimote_map, mapping_matches_player_id);
|
||||
}
|
||||
|
||||
bool NetPlayClient::IsLocalPlayer(const PlayerId pid) const
|
||||
|
||||
@@ -2232,8 +2232,8 @@ bool NetPlayServer::PlayerHasControllerMapped(const PlayerId pid) const
|
||||
{
|
||||
const auto mapping_matches_player_id = [pid](const PlayerId& mapping) { return mapping == pid; };
|
||||
|
||||
return std::any_of(m_pad_map.begin(), m_pad_map.end(), mapping_matches_player_id) ||
|
||||
std::any_of(m_wiimote_map.begin(), m_wiimote_map.end(), mapping_matches_player_id);
|
||||
return std::ranges::any_of(m_pad_map, mapping_matches_player_id) ||
|
||||
std::ranges::any_of(m_wiimote_map, mapping_matches_player_id);
|
||||
}
|
||||
|
||||
void NetPlayServer::AssignNewUserAPad(const Client& player)
|
||||
|
||||
@@ -371,7 +371,7 @@ bool MemChecks::OverlapsMemcheck(u32 address, u32 length) const
|
||||
const u32 page_end_suffix = length - 1;
|
||||
const u32 page_end_address = address | page_end_suffix;
|
||||
|
||||
return std::any_of(m_mem_checks.cbegin(), m_mem_checks.cend(), [&](const auto& mc) {
|
||||
return std::ranges::any_of(m_mem_checks, [&](const auto& mc) {
|
||||
return ((mc.start_address | page_end_suffix) == page_end_address ||
|
||||
(mc.end_address | page_end_suffix) == page_end_address) ||
|
||||
((mc.start_address | page_end_suffix) < page_end_address &&
|
||||
|
||||
@@ -136,15 +136,14 @@ static double CallstackFunc(expr_func* f, vec_expr_t* args, void* c)
|
||||
if (!std::isnan(num))
|
||||
{
|
||||
u32 address = static_cast<u32>(num);
|
||||
return std::any_of(stack.begin(), stack.end(),
|
||||
[address](const auto& s) { return s.vAddress == address; });
|
||||
return std::ranges::any_of(stack, [address](const auto& s) { return s.vAddress == address; });
|
||||
}
|
||||
|
||||
const char* cstr = expr_get_str(&vec_nth(args, 0));
|
||||
if (cstr != nullptr)
|
||||
{
|
||||
return std::any_of(stack.begin(), stack.end(),
|
||||
[cstr](const auto& s) { return s.Name.find(cstr) != std::string::npos; });
|
||||
return std::ranges::any_of(
|
||||
stack, [cstr](const auto& s) { return s.Name.find(cstr) != std::string::npos; });
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user