0

Move base::FreeDeleter into its own header.

Final blocker to wholly deleting base/memory/scoped_ptr.h.

BUG=554298

Review URL: https://codereview.chromium.org/1837483003

Cr-Commit-Position: refs/heads/master@{#383417}
This commit is contained in:
dcheng
2016-03-25 17:16:27 -07:00
committed by Commit bot
parent 3bdd5635f4
commit db5935f15f
50 changed files with 78 additions and 16 deletions

@ -457,6 +457,7 @@ component("base") {
"memory/discardable_memory_allocator.h",
"memory/discardable_shared_memory.cc",
"memory/discardable_shared_memory.h",
"memory/free_deleter.h",
"memory/linked_ptr.h",
"memory/manual_constructor.h",
"memory/memory_pressure_listener.cc",

@ -346,6 +346,7 @@
'memory/discardable_memory_allocator.h',
'memory/discardable_shared_memory.cc',
'memory/discardable_shared_memory.h',
'memory/free_deleter.h',
'memory/linked_ptr.h',
'memory/manual_constructor.h',
'memory/memory_pressure_listener.cc',

@ -21,6 +21,8 @@
#include <string>
#include <vector>
#include "base/memory/free_deleter.h"
#if defined(__GLIBCXX__)
#include <cxxabi.h>
#endif

@ -10,6 +10,7 @@
#include "base/base_export.h"
#include "base/file_version_info.h"
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
struct tagVS_FIXEDFILEINFO;

@ -0,0 +1,25 @@
// 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_

@ -96,21 +96,6 @@
#include <memory>
namespace base {
// Function object which invokes 'free' on its parameter, which must be
// a pointer. Can be used to store malloc-allocated pointers in scoped_ptr:
//
// scoped_ptr<int, base::FreeDeleter> foo_ptr(
// static_cast<int*>(malloc(sizeof(int))));
struct FreeDeleter {
inline void operator()(void* ptr) const {
free(ptr);
}
};
} // namespace base
template <typename T, typename D = std::default_delete<T>>
using scoped_ptr = std::unique_ptr<T, D>;

@ -6,6 +6,7 @@
#include <sddl.h>
#include "base/command_line.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/shared_memory.h"
#include "base/process/process.h"

@ -10,6 +10,7 @@
#include <unistd.h>
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/time/time.h"

@ -15,6 +15,7 @@
#include "base/files/file_util.h"
#include "base/logging.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "build/build_config.h"
#include "testing/gtest/include/gtest/gtest.h"

@ -7,6 +7,7 @@
#include <errno.h>
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/message_loop/message_loop.h"
#include "base/sys_info.h"
#include "build/build_config.h"

@ -13,6 +13,7 @@
#include "base/logging.h"
#import "base/mac/foundation_util.h"
#import "base/mac/scoped_nsautorelease_pool.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/path_service.h"
#include "build/build_config.h"

@ -6,6 +6,7 @@
#include <stddef.h>
#include "base/memory/free_deleter.h"
#include "base/strings/string_number_conversions.h"
#include "components/cloud_devices/common/printer_description.h"
#include "printing/backend/win_helper.h"

@ -5,9 +5,11 @@
#ifndef CHROME_SERVICE_CLOUD_PRINT_CDD_CONVERSION_WIN_H_
#define CHROME_SERVICE_CLOUD_PRINT_CDD_CONVERSION_WIN_H_
#include <string>
#include <windows.h>
#include <string>
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/strings/string16.h"

@ -8,6 +8,7 @@
#include "base/files/file_util.h"
#include "base/json/json_writer.h"
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/strings/utf_string_conversions.h"
#include "base/thread_task_runner_handle.h"

@ -6,6 +6,7 @@
#include <utility>
#include "base/memory/free_deleter.h"
#include "base/message_loop/message_loop.h"
#include "base/synchronization/waitable_event.h"
#include "testing/gtest/include/gtest/gtest.h"

@ -27,6 +27,7 @@
#include "base/cancelable_callback.h"
#include "base/files/file_path.h"
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "components/exo/buffer.h"

@ -10,6 +10,7 @@
#include <vector>
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/run_loop.h"

@ -27,6 +27,7 @@
#include <winioctl.h>
#include <wlanapi.h>
#include "base/memory/free_deleter.h"
#include "base/metrics/histogram.h"
#include "base/strings/utf_string_conversions.h"
#include "base/win/windows_version.h"

@ -13,6 +13,7 @@
#include <vector>
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "courgette/courgette.h"
#include "courgette/image_utils.h"

@ -16,6 +16,7 @@
#include "base/bind.h"
#include "base/files/file.h"
#include "base/location.h"
#include "base/memory/free_deleter.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_util.h"
#include "base/strings/sys_string_conversions.h"

@ -8,6 +8,7 @@
#include <limits>
#include "base/memory/free_deleter.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/string_number_conversions.h"
#include "base/sys_byteorder.h"

@ -17,6 +17,7 @@
#include "base/files/scoped_temp_dir.h"
#include "base/mac/mac_util.h"
#include "base/mac/mach_logging.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/shared_memory.h"
#include "base/strings/string_number_conversions.h"

@ -40,6 +40,7 @@
#include "base/bind.h"
#include "base/logging.h"
#include "base/memory/free_deleter.h"
#include "base/stl_util.h"
#include "base/trace_event/trace_event.h"
#include "media/audio/alsa/alsa_util.h"

@ -11,6 +11,7 @@
#include "base/files/file_path.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/metrics/histogram.h"
#include "base/nix/xdg_util.h"
#include "base/process/launch.h"

@ -11,6 +11,7 @@
#include "base/mac/mac_logging.h"
#include "base/mac/scoped_cftyperef.h"
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/power_monitor/power_monitor.h"
#include "base/power_monitor/power_observer.h"
#include "base/strings/sys_string_conversions.h"

@ -6,6 +6,7 @@
#include <utility>
#include "base/memory/free_deleter.h"
#include "base/message_loop/message_loop.h"
#include "base/synchronization/waitable_event.h"
#include "testing/gtest/include/gtest/gtest.h"

@ -9,6 +9,7 @@
#include <string>
#include "base/memory/free_deleter.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/pickle.h"

@ -7,6 +7,7 @@
#include <string>
#include <vector>
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/sha1.h"
#include "base/strings/string_util.h"

@ -7,6 +7,7 @@
#include <windows.h>
#include "base/logging.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"

@ -5,6 +5,7 @@
#include "net/cert/x509_certificate.h"
#include "base/logging.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/numerics/safe_conversions.h"
#include "base/pickle.h"

@ -12,6 +12,7 @@
#include "base/location.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/threading/worker_pool.h"
#include "base/win/windows_version.h"
#include "net/base/address_list.h"

@ -14,6 +14,7 @@
#include "base/files/file_path_watcher.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/string_split.h"

@ -14,6 +14,7 @@
#include <vector>
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/strings/string16.h"

@ -5,6 +5,7 @@
#include "net/dns/dns_config_service_win.h"
#include "base/logging.h"
#include "base/memory/free_deleter.h"
#include "base/win/windows_version.h"
#include "net/base/ip_address.h"
#include "net/dns/dns_protocol.h"

@ -8,6 +8,7 @@
#include "base/bind_helpers.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/memory/free_deleter.h"
#include "base/strings/string_util.h"
#include "base/strings/sys_string_conversions.h"
#include "base/task_runner.h"

@ -8,6 +8,7 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/profiler/scoped_tracker.h"
#include "base/threading/sequenced_worker_pool.h"

@ -8,6 +8,7 @@
#include <stddef.h>
#include <winspool.h>
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/string_number_conversions.h"

@ -12,6 +12,7 @@
#include "base/files/file_path.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/numerics/safe_conversions.h"
#include "base/strings/string_util.h"

@ -13,6 +13,7 @@
#include <string>
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/strings/string16.h"
#include "base/win/scoped_handle.h"

@ -7,6 +7,7 @@
#include <algorithm>
#include "base/bind.h"
#include "base/memory/free_deleter.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "printing/backend/print_backend.h"

@ -8,6 +8,7 @@
#include <sddl.h>
#include "base/logging.h"
#include "base/memory/free_deleter.h"
namespace sandbox {

@ -8,6 +8,7 @@
#include <AccCtrl.h>
#include <windows.h>
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "sandbox/win/src/sid.h"

@ -7,6 +7,7 @@
#include <stddef.h>
#include "base/logging.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/win/windows_version.h"
#include "sandbox/win/src/interceptors.h"

@ -5,6 +5,7 @@
#include <memory>
#include <string>
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/strings/string16.h"
#include "base/strings/sys_string_conversions.h"

@ -8,6 +8,7 @@
#include <string>
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "sandbox/win/src/ipc_tags.h"
#include "sandbox/win/src/nt_internals.h"

@ -6,9 +6,11 @@
#include <stddef.h>
#include <stdint.h>
#include <utility>
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/win/pe_image.h"
#include "base/win/startup_information.h"

@ -10,6 +10,7 @@
#include <stdint.h>
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/win/scoped_handle.h"
#include "base/win/scoped_process_information.h"

@ -13,6 +13,7 @@
#include "base/location.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/free_deleter.h"
#include "base/single_thread_task_runner.h"
#include "base/task_runner.h"
#include "base/thread_task_runner_handle.h"

@ -7,9 +7,11 @@
#include <stdint.h>
#include <xkbcommon/xkbcommon.h>
#include <vector>
#include "base/containers/hash_tables.h"
#include "base/memory/free_deleter.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"

@ -10,6 +10,7 @@
#include <iostream>
#include "base/logging.h"
#include "base/memory/free_deleter.h"
#include "base/memory/scoped_ptr.h"
#include "base/scoped_generic.h"
#include "base/strings/utf_string_conversions.h"