-
Notifications
You must be signed in to change notification settings - Fork 6k
Variant type for C++ client wrapper #8592
Variant type for C++ client wrapper #8592
Conversation
-Halves class size for simple types -Makes the code less subtle: eliminates placement new and manual destructor calls
|
Is this ready for review? |
Yes, it's complete as is, with the actual standard codec support being a follow-up PR that I'll send out after this is in. |
chinmaygarde
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this is because I am missing the context on how the actual encoding and decoding is done. But, I was expecting an Encodable with specializations (for an encode and decode respectively) for specific type traits. Specific specializations for std::is_arithmetic, std::is_null_pointer, std::is_array would then handle entire type classes. Obviously you could add more specializations as necessary.
But, I don't see why this wont work either. Your call.
Resolved in offline discussion; this is solving a problem at a higher abstraction layer in the plugin APIs than the encoding/decoding details themselves (specifically, creating a way to represent heterogeneous List and Map objects coming from Dart). |
…1168) flutter/engine@db36d28...b819b62 git log db36d28..b819b62 --no-merges --oneline b819b62 Variant type for C++ client wrapper (flutter/engine#8592) The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop the roller if necessary.
Adds a type that can hold any of the types corresponding to the Dart types
that are supported by the standard message channel codec. This provides
the foundation for adding standard message codec support for the C++
desktop shells (flutter/flutter#30670).