blob: 04f2c0258929e74c0bcca89d4433fa6f647a0d28 [file] [log] [blame]
dcheng4f10c192015-12-15 05:07:14 +09001// Copyright 2015 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef BASE_MEMORY_PTR_UTIL_H_
6#define BASE_MEMORY_PTR_UTIL_H_
7
8#include <memory>
9
dcheng4f10c192015-12-15 05:07:14 +090010namespace base {
11
12// Helper to transfer ownership of a raw pointer to a std::unique_ptr<T>.
13// Note that std::unique_ptr<T> has very different semantics from
14// std::unique_ptr<T[]>: do not use this helper for array allocations.
15template <typename T>
16std::unique_ptr<T> WrapUnique(T* ptr) {
17 return std::unique_ptr<T>(ptr);
18}
19
20} // namespace base
21
22#endif // BASE_MEMORY_PTR_UTIL_H_