Add typedef for parcelables with @FixedSize

The typedef is only present in the cpp and ndk backend.
fixed_size is typedefined to be std::true_type when the parcelable
is annotated with @FixedSize and std::false_type when not.

Test: atest aidl_integration_test
Bug: 142326204

Change-Id: I34a1c187beaa603ddf3f75e9cdc9521fd432ab37
diff --git a/generate_ndk.cpp b/generate_ndk.cpp
index 7617351..124d8f4 100644
--- a/generate_ndk.cpp
+++ b/generate_ndk.cpp
@@ -957,6 +957,11 @@
   out << "class " << clazz << " {\n";
   out << "public:\n";
   out.Indent();
+  if (defined_type.IsFixedSize()) {
+    out << "typedef std::true_type fixed_size;\n";
+  } else {
+    out << "typedef std::false_type fixed_size;\n";
+  }
   out << "static const char* descriptor;\n";
   out << "\n";
   for (const auto& variable : defined_type.GetFields()) {