commit | 1b1876ab093614021088494271a4c4526d64168e | [log] [tgz] |
---|---|---|
author | Ian McKellar <ianloic@google.com> | Fri Dec 21 10:29:13 2018 -0800 |
committer | Ian McKellar <ianloic@google.com> | Fri Jan 11 22:53:50 2019 +0000 |
tree | f80bf36807a80c1ba201b48edfd11c6b89245eaa | |
parent | 332111fcdc6db37931133e16adc2f14b777a59fd [diff] |
[fidl][cpp] Use std:: types for non-nullable strings and vectors. This change touches just about all uses of FIDL in C++ in the tree and beyond. The main change is that non-nullable strings are now represented in C++ as std::string and non-nullable vectors as std::vector. Their nullable equivalents are still fidl::StringPtr and fidl::VectorPtr. This changed exposed some of the fragility of the union implementation so that's switched to use fit::internal::variant. To simplify the transition of out-of-tree users of FIDL the C macro USE_STD_FOR_NON_NULLABLE_FIDL_FIELDS is defined. This allows changes in Dart and Skia to land in their trees that will work against Fuchsia before and after this change lands. This will be removed as soon as this set of changes lands. Test: built every test, ran CQ, booted x64 and poked around. Change-Id: I738d31c8f1cf6b9f7f0d3d94f8d49731de7f4b00