perf: avoid copying a vector when calling ConvertToWeakPtrVector() (#47593)

This commit is contained in:
Charles Kerr
2025-06-29 14:32:03 -05:00
committed by GitHub
parent 69e9b653ba
commit 4af248f2b6

View File

@@ -6,20 +6,18 @@
#include <algorithm>
#include "base/containers/to_vector.h"
#include "base/no_destructor.h"
#include "shell/browser/native_window.h"
#include "shell/browser/window_list_observer.h"
namespace {
template <typename T>
std::vector<base::WeakPtr<T>> ConvertToWeakPtrVector(std::vector<T*> raw_ptrs) {
std::vector<base::WeakPtr<T>> converted_to_weak;
converted_to_weak.reserve(raw_ptrs.size());
for (auto* raw_ptr : raw_ptrs) {
converted_to_weak.push_back(raw_ptr->GetWeakPtr());
}
return converted_to_weak;
auto ConvertToWeakPtrVector(const std::vector<T*>& raw_ptrs) {
return base::ToVector(raw_ptrs, [](T* t) { return t->GetWeakPtr(); });
}
} // namespace
namespace electron {