diff --git a/src/query/v2/multiframe.cpp b/src/query/v2/multiframe.cpp index 835cdbc0f..38cc7549a 100644 --- a/src/query/v2/multiframe.cpp +++ b/src/query/v2/multiframe.cpp @@ -45,7 +45,11 @@ void MultiFrame::MakeAllFramesInvalid() noexcept { } bool MultiFrame::HasValidFrame() const noexcept { - return std::any_of(frames_.begin(), frames_.end(), [](auto &frame) { return frame.IsValid(); }); + return std::any_of(frames_.begin(), frames_.end(), [](const auto &frame) { return frame.IsValid(); }); +} + +bool MultiFrame::HasInvalidFrame() const noexcept { + return std::any_of(frames_.rbegin(), frames_.rend(), [](const auto &frame) { return !frame.IsValid(); }); } // NOLINTNEXTLINE (bugprone-exception-escape) diff --git a/src/query/v2/multiframe.hpp b/src/query/v2/multiframe.hpp index f464343b4..6958ffbe8 100644 --- a/src/query/v2/multiframe.hpp +++ b/src/query/v2/multiframe.hpp @@ -82,6 +82,7 @@ class MultiFrame { void MakeAllFramesInvalid() noexcept; bool HasValidFrame() const noexcept; + bool HasInvalidFrame() const noexcept; inline utils::MemoryResource *GetMemoryResource() { return frames_[0].GetMemoryResource(); }