/** * Autogenerated by Thrift for thrift/compiler/test/fixtures/refs/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/refs/gen-cpp2/module_types.h" namespace apache { namespace thrift { template <> struct TEnumDataStorage<::cpp2::MyEnum> { using type = ::cpp2::MyEnum; static constexpr const std::size_t size = 2; static constexpr std::array values = { { type::Zero, type::One, }}; static constexpr std::array names = { { "Zero"sv, "One"sv, }}; }; template <> struct TEnumDataStorage<::cpp2::TypedEnum> { using type = ::cpp2::TypedEnum; static constexpr const std::size_t size = 2; static constexpr std::array values = { { type::VAL1, type::VAL2, }}; static constexpr std::array names = { { "VAL1"sv, "VAL2"sv, }}; }; template <> struct TEnumDataStorage<::cpp2::MyUnion::Type> { using type = ::cpp2::MyUnion::Type; static constexpr const std::size_t size = 2; static constexpr std::array values = { { type::anInteger, type::aString, }}; static constexpr std::array names = { { "anInteger"sv, "aString"sv, }}; }; template <> struct TEnumDataStorage<::cpp2::NonTriviallyDestructibleUnion::Type> { using type = ::cpp2::NonTriviallyDestructibleUnion::Type; static constexpr const std::size_t size = 1; static constexpr std::array values = { { type::int_field, }}; static constexpr std::array names = { { "int_field"sv, }}; }; template <> struct TStructDataStorage<::cpp2::MyUnion> { 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<::cpp2::NonTriviallyDestructibleUnion> { 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<::cpp2::MyField> { static constexpr const std::size_t fields_size = 9; 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<::cpp2::MyStruct> { 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<::cpp2::StructWithUnion> { 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<::cpp2::RecursiveStruct> { 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<::cpp2::StructWithContainers> { static constexpr const std::size_t fields_size = 6; 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<::cpp2::StructWithSharedConst> { 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<::cpp2::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<::cpp2::StructWithRef> { 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<::cpp2::StructWithBox> { 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<::cpp2::StructWithInternBox> { 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<::cpp2::StructWithTerseInternBox> { 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<::cpp2::AdaptedStructWithInternBox> { 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<::cpp2::AdaptedStructWithTerseInternBox> { 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<::cpp2::StructWithRefTypeUnique> { 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<::cpp2::StructWithRefTypeShared> { 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<::cpp2::StructWithRefTypeSharedConst> { 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<::cpp2::StructWithRefAndAnnotCppNoexceptMoveCtor> { 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<::cpp2::StructWithString> { static constexpr const std::size_t fields_size = 5; 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