mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 22:00:39 -06:00
Modernize std::all_of
with ranges
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those. In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed. In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
This commit is contained in:
@ -113,7 +113,7 @@ static bool IsIllegalCharacter(char c)
|
||||
std::string EscapeFileName(const std::string& filename)
|
||||
{
|
||||
// Prevent paths from containing special names like ., .., ..., ...., and so on
|
||||
if (std::all_of(filename.begin(), filename.end(), [](char c) { return c == '.'; }))
|
||||
if (std::ranges::all_of(filename, [](char c) { return c == '.'; }))
|
||||
return ReplaceAll(filename, ".", "__2e__");
|
||||
|
||||
// Escape all double underscores since we will use double underscores for our escape sequences
|
||||
@ -170,8 +170,7 @@ std::string UnescapeFileName(const std::string& filename)
|
||||
|
||||
bool IsFileNameSafe(const std::string_view filename)
|
||||
{
|
||||
return !filename.empty() &&
|
||||
!std::all_of(filename.begin(), filename.end(), [](char c) { return c == '.'; }) &&
|
||||
return !filename.empty() && !std::ranges::all_of(filename, [](char c) { return c == '.'; }) &&
|
||||
std::none_of(filename.begin(), filename.end(), IsIllegalCharacter);
|
||||
}
|
||||
} // namespace Common
|
||||
|
Reference in New Issue
Block a user