/** * Autogenerated by Thrift for thrift/compiler/test/fixtures/mcpp2-compare/src/module.thrift * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @nocommit */ #pragma once #include #include "thrift/compiler/test/fixtures/mcpp2-compare/gen-cpp2/module_types.h" namespace apache { namespace thrift { template <> struct TEnumDataStorage<::some::valid::ns::MyEnumA> { using type = ::some::valid::ns::MyEnumA; static constexpr const std::size_t size = 3; static constexpr std::array values = { { type::fieldA, type::fieldB, type::fieldC, }}; static constexpr std::array names = { { "fieldA"sv, "fieldB"sv, "fieldC"sv, }}; }; template <> struct TEnumDataStorage<::some::valid::ns::AnnotatedEnum> { using type = ::some::valid::ns::AnnotatedEnum; static constexpr const std::size_t size = 3; static constexpr std::array values = { { type::FIELDA, type::FIELDB, type::FIELDC, }}; static constexpr std::array names = { { "FIELDA"sv, "FIELDB"sv, "FIELDC"sv, }}; }; template <> struct TEnumDataStorage<::some::valid::ns::AnnotatedEnum2> { using type = ::some::valid::ns::AnnotatedEnum2; static constexpr const std::size_t size = 3; static constexpr std::array values = { { type::FIELDA, type::FIELDB, type::FIELDC, }}; static constexpr std::array names = { { "FIELDA"sv, "FIELDB"sv, "FIELDC"sv, }}; }; template <> struct TEnumDataStorage<::some::valid::ns::MyEnumB> { using type = ::some::valid::ns::MyEnumB; static constexpr const std::size_t size = 1; static constexpr std::array values = { { type::AField, }}; static constexpr std::array names = { { "AField"sv, }}; }; template <> struct TEnumDataStorage<::some::valid::ns::SimpleUnion::Type> { using type = ::some::valid::ns::SimpleUnion::Type; static constexpr const std::size_t size = 2; static constexpr std::array values = { { type::intValue, type::stringValue, }}; static constexpr std::array names = { { "intValue"sv, "stringValue"sv, }}; }; template <> struct TEnumDataStorage<::some::valid::ns::ComplexUnion::Type> { using type = ::some::valid::ns::ComplexUnion::Type; static constexpr const std::size_t size = 28; static constexpr std::array values = { { type::intValue, type::opt_intValue, type::stringValue, type::opt_stringValue, type::intValue2, type::intValue3, type::doubelValue, type::boolValue, type::union_list, type::union_set, type::union_map, type::opt_union_map, type::enum_field, type::enum_container, type::a_struct, type::a_set_struct, type::a_union, type::opt_a_union, type::a_union_list, type::a_union_typedef, type::a_union_typedef_list, type::MyBinaryField, type::MyBinaryField2, type::MyBinaryListField4, type::ref_field, type::ref_field2, type::excp_field, type::MyCustomField, }}; static constexpr std::array names = { { "intValue"sv, "opt_intValue"sv, "stringValue"sv, "opt_stringValue"sv, "intValue2"sv, "intValue3"sv, "doubelValue"sv, "boolValue"sv, "union_list"sv, "union_set"sv, "union_map"sv, "opt_union_map"sv, "enum_field"sv, "enum_container"sv, "a_struct"sv, "a_set_struct"sv, "a_union"sv, "opt_a_union"sv, "a_union_list"sv, "a_union_typedef"sv, "a_union_typedef_list"sv, "MyBinaryField"sv, "MyBinaryField2"sv, "MyBinaryListField4"sv, "ref_field"sv, "ref_field2"sv, "excp_field"sv, "MyCustomField"sv, }}; }; template <> struct TEnumDataStorage<::some::valid::ns::FloatUnion::Type> { using type = ::some::valid::ns::FloatUnion::Type; static constexpr const std::size_t size = 2; static constexpr std::array values = { { type::floatSide, type::doubleSide, }}; static constexpr std::array names = { { "floatSide"sv, "doubleSide"sv, }}; }; template <> struct TStructDataStorage<::some::valid::ns::Empty> { static constexpr const std::size_t fields_size = 0; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::ASimpleStruct> { static constexpr const std::size_t fields_size = 1; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::ASimpleStructNoexcept> { static constexpr const std::size_t fields_size = 1; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::MyStruct> { static constexpr const std::size_t fields_size = 11; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::SimpleUnion> { static constexpr const std::size_t fields_size = 2; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::ComplexUnion> { static constexpr const std::size_t fields_size = 28; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::AnException> { static constexpr const std::size_t fields_size = 17; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::AnotherException> { static constexpr const std::size_t fields_size = 3; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::containerStruct> { static constexpr const std::size_t fields_size = 46; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::MyIncludedStruct> { static constexpr const std::size_t fields_size = 4; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::AnnotatedStruct> { static constexpr const std::size_t fields_size = 40; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::ComplexContainerStruct> { static constexpr const std::size_t fields_size = 2; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::FloatStruct> { static constexpr const std::size_t fields_size = 2; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::FloatUnion> { static constexpr const std::size_t fields_size = 2; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; template <> struct TStructDataStorage<::some::valid::ns::AllRequiredNoExceptMoveCtrStruct> { static constexpr const std::size_t fields_size = 1; static const std::string_view name; static const std::array fields_names; static const std::array fields_ids; static const std::array fields_types; private: // The following fields describe internal storage metadata, and are private to // prevent user logic from accessing them, but they can be inspected by // debuggers. static const std::array storage_names; // -1 if the field has no isset. static const std::array isset_indexes; }; }} // apache::thrift