perf: avoid copying a vector when calling ConvertToWeakPtrVector() (#47603)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
parent
34dcfb5422
commit
6d3eeb46e4
1 changed files with 5 additions and 7 deletions
|
@ -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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue