summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Kellermann <max@musicpd.org>2020-11-04 20:34:55 +0100
committerMax Kellermann <max@musicpd.org>2020-11-04 20:34:55 +0100
commit0b8208fe7f91c9a093382a6b6280cf57ff6d0e53 (patch)
treed5f6b8db4fbc968f202340c93f1edd4c93914b8e
parent3d276d50b434b1468b4e464294137a6b4a72b732 (diff)
parentf1fc5d79ca7fef36f726a350bb571e5bee45c6da (diff)
Merge branch 'clng11' of git://github.com/neheb/MPD into master
-rw-r--r--src/command/FileCommands.cxx9
-rw-r--r--src/db/plugins/ProxyDatabasePlugin.cxx15
-rw-r--r--src/song/Filter.cxx32
3 files changed, 23 insertions, 33 deletions
diff --git a/src/command/FileCommands.cxx b/src/command/FileCommands.cxx
index 814289321..df097924a 100644
--- a/src/command/FileCommands.cxx
+++ b/src/command/FileCommands.cxx
@@ -113,12 +113,9 @@ IsValidName(const StringView s) noexcept
if (s.empty() || !IsAlphaASCII(s.front()))
return false;
- for (const char ch : s) {
- if (!IsAlphaASCII(ch) && ch != '_' && ch != '-')
- return false;
- }
-
- return true;
+ return std::none_of(s.begin(), s.end(), [=](const auto &ch) {
+ return !IsAlphaASCII(ch) && ch != '_' && ch != '-';
+ });
}
gcc_pure
diff --git a/src/db/plugins/ProxyDatabasePlugin.cxx b/src/db/plugins/ProxyDatabasePlugin.cxx
index 945c07d54..a4cc20005 100644
--- a/src/db/plugins/ProxyDatabasePlugin.cxx
+++ b/src/db/plugins/ProxyDatabasePlugin.cxx
@@ -356,11 +356,9 @@ SendConstraints(mpd_connection *connection, const SongFilter &filter)
filter.ToExpression().c_str());
#endif
- for (const auto &i : filter.GetItems())
- if (!SendConstraints(connection, *i))
- return false;
-
- return true;
+ return std::all_of(
+ filter.GetItems().begin(), filter.GetItems().end(),
+ [=](const auto &item) { return SendConstraints(connection, *item); });
}
static bool
@@ -896,11 +894,8 @@ IsFilterFullySupported(const SongFilter &filter,
(void)connection;
#endif
- for (const auto &i : filter.GetItems())
- if (!IsFilterSupported(*i))
- return false;
-
- return true;
+ return std::all_of(filter.GetItems().begin(), filter.GetItems().end(),
+ [](const auto &item) { return IsFilterSupported(*item); });
}
gcc_pure
diff --git a/src/song/Filter.cxx b/src/song/Filter.cxx
index aa9fc06e5..881b8b3ea 100644
--- a/src/song/Filter.cxx
+++ b/src/song/Filter.cxx
@@ -429,29 +429,27 @@ SongFilter::Match(const LightSong &song) const noexcept
bool
SongFilter::HasFoldCase() const noexcept
{
- for (const auto &i : and_filter.GetItems()) {
- if (auto t = dynamic_cast<const TagSongFilter *>(i.get())) {
- if (t->GetFoldCase())
- return true;
- } else if (auto u = dynamic_cast<const UriSongFilter *>(i.get())) {
- if (u->GetFoldCase())
- return true;
- }
- }
+ return std::any_of(
+ and_filter.GetItems().begin(), and_filter.GetItems().end(),
+ [](const auto &item) {
+ if (auto t = dynamic_cast<const TagSongFilter *>(item.get()))
+ return t->GetFoldCase();
+
+ if (auto u = dynamic_cast<const UriSongFilter *>(item.get()))
+ return u->GetFoldCase();
- return false;
+ return false;
+ });
}
bool
SongFilter::HasOtherThanBase() const noexcept
{
- for (const auto &i : and_filter.GetItems()) {
- const auto *f = dynamic_cast<const BaseSongFilter *>(i.get());
- if (f == nullptr)
- return true;
- }
-
- return false;
+ return std::any_of(and_filter.GetItems().begin(), and_filter.GetItems().end(),
+ [=](const auto &item) {
+ return !dynamic_cast<const BaseSongFilter *>(
+ item.get());
+ });
}
const char *