ptr_util.h 635 B

12345678910111213141516171819202122
  1. // 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. #ifndef BASE_MEMORY_PTR_UTIL_H_
  5. #define BASE_MEMORY_PTR_UTIL_H_
  6. #include <memory>
  7. namespace base {
  8. // Helper to transfer ownership of a raw pointer to a std::unique_ptr<T>.
  9. // Note that std::unique_ptr<T> has very different semantics from
  10. // std::unique_ptr<T[]>: do not use this helper for array allocations.
  11. template <typename T>
  12. std::unique_ptr<T> WrapUnique(T* ptr) {
  13. return std::unique_ptr<T>(ptr);
  14. }
  15. } // namespace base
  16. #endif // BASE_MEMORY_PTR_UTIL_H_