| Index: mojo/public/cpp/bindings/lib/bindings_internal.h
|
| diff --git a/mojo/public/cpp/bindings/lib/bindings_internal.h b/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| index a8f95b2300bdb8143a8adecbb89afa9345f75830..4b5bb49d994183b6a303928354ef662571464afd 100644
|
| --- a/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| +++ b/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| @@ -76,6 +76,18 @@ struct IsHandle {
|
| enum { value = IsBaseOf<Handle, H>::value };
|
| };
|
|
|
| +template <typename T>
|
| +struct IsUnionDataType {
|
| + template <typename U>
|
| + static YesType Test(const typename U::MojomUnionDataType*);
|
| +
|
| + template <typename U>
|
| + static NoType Test(...);
|
| +
|
| + static const bool value =
|
| + sizeof(Test<T>(0)) == sizeof(YesType) && !IsConst<T>::value;
|
| +};
|
| +
|
| template <typename T, bool move_only = IsMoveOnlyType<T>::value>
|
| struct WrapperTraits;
|
|
|
|
|