Index: base/sequenced_task_runner.h |
diff --git a/base/sequenced_task_runner.h b/base/sequenced_task_runner.h |
index 585a338d11634dcb7e708a024508f68dc02512bd..e42ba7fe312a84ad07a701e46758f13e9b303991 100644 |
--- a/base/sequenced_task_runner.h |
+++ b/base/sequenced_task_runner.h |
@@ -154,6 +154,12 @@ class BASE_EXPORT SequencedTaskRunner : public TaskRunner { |
const void* object); |
}; |
+// Sample usage with std::unique_ptr : |
+// std::unique_ptr<Foo, base::OnTaskRunnerDeleter> ptr( |
+// new Foo, base::OnTaskRunnerDeleter(my_task_runner)); |
+// |
+// TODO: RefCounted isn't yet supported per RefCountedTraits using a static |
+// deleter and thus not be bindable to a specific TaskRunner. |
struct BASE_EXPORT OnTaskRunnerDeleter { |
explicit OnTaskRunnerDeleter(scoped_refptr<SequencedTaskRunner> task_runner); |
~OnTaskRunnerDeleter(); |
@@ -161,6 +167,7 @@ struct BASE_EXPORT OnTaskRunnerDeleter { |
OnTaskRunnerDeleter(OnTaskRunnerDeleter&&); |
OnTaskRunnerDeleter& operator=(OnTaskRunnerDeleter&&); |
+ // For compatibility with std:: deleters. |
template <typename T> |
void operator()(const T* ptr) { |
if (ptr) |