Michael137 added a comment.
In D139083#3964612 <https://reviews.llvm.org/D139083#3964612>, @aprantl wrote:
> This is definitely useful — I just have one question: Isn't ForEach a special
> case of AnyOf? Could we implement on in terms of the other?
Yup it is. But it looked a bit too clever and just iterating over `m_modules`
seemed cleaner.
bool ret = false;
ForEach([&](auto const& module) {
if (callback(module)) {
ret = true;
return false;
}
return true;
}
return ret;
It looked a bit awkward
================
Comment at: lldb/include/lldb/Core/ModuleList.h:480
+ /// This function is thread-safe.
+ bool AnyOf(std::function<bool(const lldb::ModuleSP &module_sp)> const
+ &callback) const;
----------------
Michael137 wrote:
> aprantl wrote:
> > Why not `std::function<bool(const lldb::Module &)>` ?
> Unfortunately a lot of APIs of `Module` are non-const since they rely on
> updating internal state :(
Re. why shared_ptr, that's because I just waned to align it with `ForEach`. I
suppose if we're starting fresh we could just pass the reference. It would have
to be mutable though
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D139083/new/
https://reviews.llvm.org/D139083
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits