| Index: base/callback_forward.h
|
| diff --git a/base/callback_forward.h b/base/callback_forward.h
|
| index a9a263a50ea77517e6514792843660d6d25435ca..8b9b89cdc231bcf1020111e91bcbda14fd4e678c 100644
|
| --- a/base/callback_forward.h
|
| +++ b/base/callback_forward.h
|
| @@ -6,8 +6,19 @@
|
| #define BASE_CALLBACK_FORWARD_H_
|
|
|
| namespace base {
|
| +namespace internal {
|
|
|
| -template <typename Sig>
|
| +// CopyMode is used to control the copyablity of a Callback.
|
| +// MoveOnly indicates the Callback is not copyable but movable, and Copyable
|
| +// indicates it is copyable and movable.
|
| +enum class CopyMode {
|
| + MoveOnly, Copyable,
|
| +};
|
| +
|
| +} // namespace internal
|
| +
|
| +template <typename Signature,
|
| + internal::CopyMode copy_mode = internal::CopyMode::Copyable>
|
| class Callback;
|
|
|
| // Syntactic sugar to make Callback<void()> easier to declare since it
|
|
|