| 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 6d2562f1b585fa710d9cf892776c721f9b29f4dc..969137678f12419c943f9e8a26e11697ae8a5b66 100644
|
| --- a/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| +++ b/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| @@ -94,12 +94,32 @@ struct IsHandle {
|
|
|
| template <typename T>
|
| struct IsUnionDataType {
|
| + private:
|
| template <typename U>
|
| static YesType Test(const typename U::MojomUnionDataType*);
|
|
|
| template <typename U>
|
| static NoType Test(...);
|
|
|
| + EnsureTypeIsComplete<T> check_t_;
|
| +
|
| + public:
|
| + static const bool value =
|
| + sizeof(Test<T>(0)) == sizeof(YesType) && !IsConst<T>::value;
|
| +};
|
| +
|
| +template <typename T>
|
| +struct IsEnumDataType {
|
| + private:
|
| + template <typename U>
|
| + static YesType Test(const typename U::MojomEnumDataType*);
|
| +
|
| + template <typename U>
|
| + static NoType Test(...);
|
| +
|
| + EnsureTypeIsComplete<T> check_t_;
|
| +
|
| + public:
|
| static const bool value =
|
| sizeof(Test<T>(0)) == sizeof(YesType) && !IsConst<T>::value;
|
| };
|
|
|