Chromium Code Reviews| Index: src/base/free_deleter.h |
| diff --git a/src/base/free_deleter.h b/src/base/free_deleter.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..567f55ca6d66bd04647c0b9cc3c4981185b2ed66 |
| --- /dev/null |
| +++ b/src/base/free_deleter.h |
| @@ -0,0 +1,25 @@ |
| +// Copyright 2016 the V8 project 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_ |
|
Michael Starzinger
2016/08/18 10:39:19
nit: V8_BASE_FREE_DELETER_H_
rmcilroy
2016/08/18 11:39:48
Done.
|
| +#define BASE_MEMORY_FREE_DELETER_H_ |
| + |
| +#include <stdlib.h> |
| + |
| +namespace v8 { |
| +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 |
| +} // namespace v8 |
| + |
| +#endif // BASE_MEMORY_FREE_DELETER_H_ |
|
Michael Starzinger
2016/08/18 10:39:19
nit: V8_BASE_FREE_DELETER_H_
rmcilroy
2016/08/18 11:39:48
Done.
|