// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_CROSAPI_UTILS_H_
#define COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_CROSAPI_UTILS_H_
// Utility functions for App Service crosapi usage.
#include <memory>
#include <vector>
namespace apps_util {
// Clone a list of StructPtr.
template <typename StructPtr>
std::vector<StructPtr> CloneStructPtrVector(
const std::vector<StructPtr>& clone_from) {
std::vector<StructPtr> clone_to;
for (const auto& struct_ptr : clone_from) {
clone_to.push_back(struct_ptr->Clone());
}
return clone_to;
}
} // namespace apps_util
#endif // COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_CROSAPI_UTILS_H_