| 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 bb7347e61571a3694493825735a935bb5906f5f7..ed9fa14b5428bf3f046fdb88cadb51d90d30fbdd 100644
|
| --- a/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| +++ b/mojo/public/cpp/bindings/lib/bindings_internal.h
|
| @@ -186,6 +186,36 @@ struct ValueTraits<ScopedHandleBase<T>> {
|
| }
|
| };
|
|
|
| +template <typename T>
|
| +struct UnwrapStructPtr {
|
| + static T* value(T& x) { return &x; }
|
| +};
|
| +
|
| +template <typename T>
|
| +struct UnwrapStructPtr<StructPtr<T>> {
|
| + static T* value(StructPtr<T>& x) { return x.get(); }
|
| +};
|
| +
|
| +template <typename T>
|
| +struct UnwrapStructPtr<InlinedStructPtr<T>> {
|
| + static T* value(InlinedStructPtr<T>& x) { return x.get(); }
|
| +};
|
| +
|
| +template <typename T>
|
| +struct UnwrapConstStructPtr {
|
| + static const T* value(const T& x) { return &x; }
|
| +};
|
| +
|
| +template <typename T>
|
| +struct UnwrapConstStructPtr<StructPtr<T>> {
|
| + static const T* value(const StructPtr<T>& x) { return x.get(); }
|
| +};
|
| +
|
| +template <typename T>
|
| +struct UnwrapConstStructPtr<InlinedStructPtr<T>> {
|
| + static const T* value(const InlinedStructPtr<T>& x) { return x.get(); }
|
| +};
|
| +
|
| } // namespace internal
|
| } // namespace mojo
|
|
|
|
|