12345678910111213141516171819202122232425 |
- // Copyright 2016 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #ifndef BASE_MEMORY_FREE_DELETER_H_
- #define BASE_MEMORY_FREE_DELETER_H_
- #include <stdlib.h>
- namespace base {
- // Function object which invokes 'free' on its parameter, which must be
- // a pointer. Can be used to store malloc-allocated pointers in std::unique_ptr:
- //
- // std::unique_ptr<int, base::FreeDeleter> foo_ptr(
- // static_cast<int*>(malloc(sizeof(int))));
- struct FreeDeleter {
- inline void operator()(void* ptr) const {
- free(ptr);
- }
- };
- } // namespace base
- #endif // BASE_MEMORY_FREE_DELETER_H_
|