diff options
author | Max Kellermann <max@musicpd.org> | 2020-11-04 20:34:55 +0100 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2020-11-04 20:34:55 +0100 |
commit | 0b8208fe7f91c9a093382a6b6280cf57ff6d0e53 (patch) | |
tree | d5f6b8db4fbc968f202340c93f1edd4c93914b8e | |
parent | 3d276d50b434b1468b4e464294137a6b4a72b732 (diff) | |
parent | f1fc5d79ca7fef36f726a350bb571e5bee45c6da (diff) |
Merge branch 'clng11' of git://github.com/neheb/MPD into master
-rw-r--r-- | src/command/FileCommands.cxx | 9 | ||||
-rw-r--r-- | src/db/plugins/ProxyDatabasePlugin.cxx | 15 | ||||
-rw-r--r-- | src/song/Filter.cxx | 32 |
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 * |