mirror of
https://github.com/electron/electron.git
synced 2026-01-08 23:18:06 -05:00
perf: avoid copying a vector when calling ConvertToWeakPtrVector() (#47593)
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user