| Index: third_party/mojo/src/mojo/public/cpp/bindings/lib/template_util.h
|
| diff --git a/third_party/mojo/src/mojo/public/cpp/bindings/lib/template_util.h b/third_party/mojo/src/mojo/public/cpp/bindings/lib/template_util.h
|
| index c221a545337d7a7c073a9d49857198d1ef2a0a2d..2edbf5c532e542329917824fcb714e106b1323b0 100644
|
| --- a/third_party/mojo/src/mojo/public/cpp/bindings/lib/template_util.h
|
| +++ b/third_party/mojo/src/mojo/public/cpp/bindings/lib/template_util.h
|
| @@ -60,11 +60,13 @@ struct IsMoveOnlyType {
|
| sizeof(Test<T>(0)) == sizeof(YesType) && !IsConst<T>::value;
|
| };
|
|
|
| +// Returns a reference to |t| when T is not a move-only type.
|
| template <typename T>
|
| typename EnableIf<!IsMoveOnlyType<T>::value, T>::type& Forward(T& t) {
|
| return t;
|
| }
|
|
|
| +// Returns the result of t.Pass() when T is a move-only type.
|
| template <typename T>
|
| typename EnableIf<IsMoveOnlyType<T>::value, T>::type Forward(T& t) {
|
| return t.Pass();
|
|
|