diff options
Diffstat (limited to 'base/callback_internal.h')
-rw-r--r-- | base/callback_internal.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/base/callback_internal.h b/base/callback_internal.h index 5993824..d9aba39 100644 --- a/base/callback_internal.h +++ b/base/callback_internal.h @@ -136,6 +136,12 @@ struct CallbackParamTraits<scoped_ptr<T, D> > { typedef scoped_ptr<T, D> StorageType; }; +template <typename T> +struct CallbackParamTraits<scoped_array<T> > { + typedef scoped_array<T> ForwardType; + typedef scoped_array<T> StorageType; +}; + template <typename T, typename R> struct CallbackParamTraits<scoped_ptr_malloc<T, R> > { typedef scoped_ptr_malloc<T, R> ForwardType; @@ -170,6 +176,9 @@ T& CallbackForward(T& t) { return t; } template <typename T, typename D> scoped_ptr<T, D> CallbackForward(scoped_ptr<T, D>& p) { return p.Pass(); } +template <typename T> +scoped_array<T> CallbackForward(scoped_array<T>& p) { return p.Pass(); } + template <typename T, typename R> scoped_ptr_malloc<T, R> CallbackForward(scoped_ptr_malloc<T, R>& p) { return p.Pass(); |