1 /**
2  * Autogenerated by Thrift for src/matching_module_name.thrift
3  *
4  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5  *  @generated @nocommit
6  */
7 #include <thrift/lib/cpp2/gen/module_metadata_cpp.h>
8 #include "thrift/compiler/test/fixtures/includes/gen-cpp2/matching_module_name_metadata.h"
9 
10 namespace apache {
11 namespace thrift {
12 namespace detail {
13 namespace md {
14 using ThriftMetadata = ::apache::thrift::metadata::ThriftMetadata;
15 using ThriftPrimitiveType = ::apache::thrift::metadata::ThriftPrimitiveType;
16 using ThriftType = ::apache::thrift::metadata::ThriftType;
17 using ThriftService = ::apache::thrift::metadata::ThriftService;
18 using ThriftServiceContext = ::apache::thrift::metadata::ThriftServiceContext;
19 using ThriftFunctionGenerator = void (*)(ThriftMetadata&, ThriftService&);
20 
21 
22 const ::apache::thrift::metadata::ThriftStruct&
gen(ThriftMetadata & metadata)23 StructMetadata<::matching_module_name::MyStruct>::gen(ThriftMetadata& metadata) {
24   auto res = metadata.structs_ref()->emplace("matching_module_name.MyStruct", ::apache::thrift::metadata::ThriftStruct{});
25   if (!res.second) {
26     return res.first->second;
27   }
28   ::apache::thrift::metadata::ThriftStruct& matching_module_name_MyStruct = res.first->second;
29   matching_module_name_MyStruct.name_ref() = "matching_module_name.MyStruct";
30   matching_module_name_MyStruct.is_union_ref() = false;
31   static const EncodedThriftField
32   matching_module_name_MyStruct_fields[] = {
33     {1, "OtherStructField", false, std::make_unique<Struct< ::matching_module_name::OtherStruct>>("matching_module_name.OtherStruct"), std::vector<ThriftConstStruct>{}},
34   };
35   for (const auto& f : matching_module_name_MyStruct_fields) {
36     ::apache::thrift::metadata::ThriftField field;
37     field.id_ref() = f.id;
38     field.name_ref() = f.name;
39     field.is_optional_ref() = f.is_optional;
40     f.metadata_type_interface->writeAndGenType(*field.type_ref(), metadata);
41     field.structured_annotations_ref() = f.structured_annotations;
42     matching_module_name_MyStruct.fields_ref()->push_back(std::move(field));
43   }
44   return res.first->second;
45 }
46 
47 } // namespace md
48 } // namespace detail
49 } // namespace thrift
50 } // namespace apache
51