/** * Autogenerated by Thrift for thrift/compiler/test/fixtures/optionals/src/module.thrift * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @nocommit */ #include "thrift/compiler/test/fixtures/optionals/gen-cpp2/module_data.h" #include FOLLY_CLANG_DISABLE_WARNING("-Wunused-macros") #if defined(__GNUC__) && defined(__linux__) && !FOLLY_MOBILE // These attributes are applied to the static data members to ensure that they // are not stripped from the compiled binary, in order to keep them available // for use by debuggers at runtime. // // The "used" attribute is required to ensure the compiler always emits unused // data. // // The "section" attribute is required to stop the linker from stripping used // data. It works by forcing all of the data members (both used and unused ones) // into the same section. As the linker strips data on a per-section basis, it // is then unable to remove unused data without also removing used data. // This has a similar effect to the "retain" attribute, but works with older // toolchains. #define THRIFT_DATA_MEMBER [[gnu::used]] [[gnu::section(".rodata.thrift.data")]] #else #define THRIFT_DATA_MEMBER #endif namespace apache { namespace thrift { THRIFT_DATA_MEMBER const std::string_view TStructDataStorage<::cpp2::Color>::name = "Color"; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Color>::fields_names = { { "red"sv, "green"sv, "blue"sv, "alpha"sv, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Color>::fields_ids = { { 1, 2, 3, 4, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Color>::fields_types = { { TType::T_DOUBLE, TType::T_DOUBLE, TType::T_DOUBLE, TType::T_DOUBLE, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Color>::storage_names = { { "__fbthrift_field_red"sv, "__fbthrift_field_green"sv, "__fbthrift_field_blue"sv, "__fbthrift_field_alpha"sv, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Color>::isset_indexes = { { 0, 1, 2, 3, }}; THRIFT_DATA_MEMBER const std::string_view TStructDataStorage<::cpp2::Vehicle>::name = "Vehicle"; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Vehicle>::fields_names = { { "color"sv, "licensePlate"sv, "description"sv, "name"sv, "hasAC"sv, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Vehicle>::fields_ids = { { 1, 2, 3, 4, 5, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Vehicle>::fields_types = { { TType::T_STRUCT, TType::T_STRING, TType::T_STRING, TType::T_STRING, TType::T_BOOL, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Vehicle>::storage_names = { { "__fbthrift_field_color"sv, "__fbthrift_field_licensePlate"sv, "__fbthrift_field_description"sv, "__fbthrift_field_name"sv, "__fbthrift_field_hasAC"sv, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Vehicle>::isset_indexes = { { 0, 1, 2, 3, 4, }}; THRIFT_DATA_MEMBER const std::string_view TStructDataStorage<::cpp2::Person>::name = "Person"; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Person>::fields_names = { { "id"sv, "name"sv, "age"sv, "address"sv, "favoriteColor"sv, "friends"sv, "bestFriend"sv, "petNames"sv, "afraidOfAnimal"sv, "vehicles"sv, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Person>::fields_ids = { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Person>::fields_types = { { TType::T_I64, TType::T_STRING, TType::T_I16, TType::T_STRING, TType::T_STRUCT, TType::T_SET, TType::T_I64, TType::T_MAP, TType::T_I32, TType::T_LIST, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Person>::storage_names = { { "__fbthrift_field_id"sv, "__fbthrift_field_name"sv, "__fbthrift_field_age"sv, "__fbthrift_field_address"sv, "__fbthrift_field_favoriteColor"sv, "__fbthrift_field_friends"sv, "__fbthrift_field_bestFriend"sv, "__fbthrift_field_petNames"sv, "__fbthrift_field_afraidOfAnimal"sv, "__fbthrift_field_vehicles"sv, }}; THRIFT_DATA_MEMBER const std::array TStructDataStorage<::cpp2::Person>::isset_indexes = { { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, }}; } // namespace thrift } // namespace apache