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.
 
 |