/**
 * Autogenerated by Thrift
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
#pragma once

#include "module_fatal.h"

#include <fatal/type/traits.h>

namespace test_cpp2 { namespace cpp_reflection {

namespace detail {

struct test_cpp2_cpp_reflection_module__struct_unique_strings_list {
  using structA = ::fatal::constant_sequence<char, 's', 't', 'r', 'u', 'c', 't', 'A'>;
  using a = ::fatal::constant_sequence<char, 'a'>;
  using b = ::fatal::constant_sequence<char, 'b'>;
  using structB = ::fatal::constant_sequence<char, 's', 't', 'r', 'u', 'c', 't', 'B'>;
  using c = ::fatal::constant_sequence<char, 'c'>;
  using d = ::fatal::constant_sequence<char, 'd'>;
  using struct1 = ::fatal::constant_sequence<char, 's', 't', 'r', 'u', 'c', 't', '1'>;
  using field0 = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', '0'>;
  using field1 = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', '1'>;
  using field2 = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', '2'>;
  using field3 = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', '3'>;
  using field4 = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', '4'>;
  using field5 = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', '5'>;
  using struct2 = ::fatal::constant_sequence<char, 's', 't', 'r', 'u', 'c', 't', '2'>;
  using fieldA = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'A'>;
  using fieldB = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'B'>;
  using fieldC = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'C'>;
  using fieldD = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'D'>;
  using fieldE = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'E'>;
  using fieldF = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'F'>;
  using fieldG = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'G'>;
  using struct3 = ::fatal::constant_sequence<char, 's', 't', 'r', 'u', 'c', 't', '3'>;
  using fieldH = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'H'>;
  using fieldI = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'I'>;
  using fieldJ = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'J'>;
  using fieldK = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'K'>;
  using fieldL = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'L'>;
  using fieldM = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'M'>;
  using fieldN = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'N'>;
  using fieldO = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'O'>;
  using fieldP = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'P'>;
  using fieldQ = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'Q'>;
  using fieldR = ::fatal::constant_sequence<char, 'f', 'i', 'e', 'l', 'd', 'R'>;
};

struct test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list {
  FATAL_DATA_MEMBER_GETTER(a, a);
  FATAL_DATA_MEMBER_GETTER(b, b);
  FATAL_DATA_MEMBER_GETTER(c, c);
  FATAL_DATA_MEMBER_GETTER(d, d);
  FATAL_DATA_MEMBER_GETTER(field0, field0);
  FATAL_DATA_MEMBER_GETTER(field1, field1);
  FATAL_DATA_MEMBER_GETTER(field2, field2);
  FATAL_DATA_MEMBER_GETTER(field3, field3);
  FATAL_DATA_MEMBER_GETTER(field4, field4);
  FATAL_DATA_MEMBER_GETTER(field5, field5);
  FATAL_DATA_MEMBER_GETTER(fieldA, fieldA);
  FATAL_DATA_MEMBER_GETTER(fieldB, fieldB);
  FATAL_DATA_MEMBER_GETTER(fieldC, fieldC);
  FATAL_DATA_MEMBER_GETTER(fieldD, fieldD);
  FATAL_DATA_MEMBER_GETTER(fieldE, fieldE);
  FATAL_DATA_MEMBER_GETTER(fieldF, fieldF);
  FATAL_DATA_MEMBER_GETTER(fieldG, fieldG);
  FATAL_DATA_MEMBER_GETTER(fieldH, fieldH);
  FATAL_DATA_MEMBER_GETTER(fieldI, fieldI);
  FATAL_DATA_MEMBER_GETTER(fieldJ, fieldJ);
  FATAL_DATA_MEMBER_GETTER(fieldK, fieldK);
  FATAL_DATA_MEMBER_GETTER(fieldL, fieldL);
  FATAL_DATA_MEMBER_GETTER(fieldM, fieldM);
  FATAL_DATA_MEMBER_GETTER(fieldN, fieldN);
  FATAL_DATA_MEMBER_GETTER(fieldO, fieldO);
  FATAL_DATA_MEMBER_GETTER(fieldP, fieldP);
  FATAL_DATA_MEMBER_GETTER(fieldQ, fieldQ);
  FATAL_DATA_MEMBER_GETTER(fieldR, fieldR);
};

struct test_cpp2_cpp_reflection_module__struct_unique_member_pod_list {
  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_a {
    T a;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_b {
    T b;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_c {
    T c;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_d {
    T d;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_field0 {
    T field0;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_field1 {
    T field1;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_field2 {
    T field2;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_field3 {
    T field3;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_field4 {
    T field4;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_field5 {
    T field5;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldA {
    T fieldA;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldB {
    T fieldB;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldC {
    T fieldC;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldD {
    T fieldD;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldE {
    T fieldE;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldF {
    T fieldF;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldG {
    T fieldG;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldH {
    T fieldH;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldI {
    T fieldI;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldJ {
    T fieldJ;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldK {
    T fieldK;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldL {
    T fieldL;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldM {
    T fieldM;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldN {
    T fieldN;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldO {
    T fieldO;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldP {
    T fieldP;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldQ {
    T fieldQ;
  };

  template <typename T>

  struct test_cpp2_cpp_reflection_module_struct_member_pod_fieldR {
    T fieldR;
  };

};

struct structA_test_cpp2_cpp_reflection_module__struct_unique_strings_list {
  using a = test_cpp2_cpp_reflection_module__struct_unique_strings_list::a;
  using b = test_cpp2_cpp_reflection_module__struct_unique_strings_list::b;
};

struct structB_test_cpp2_cpp_reflection_module__struct_unique_strings_list {
  using c = test_cpp2_cpp_reflection_module__struct_unique_strings_list::c;
  using d = test_cpp2_cpp_reflection_module__struct_unique_strings_list::d;
};

struct struct1_test_cpp2_cpp_reflection_module__struct_unique_strings_list {
  using field0 = test_cpp2_cpp_reflection_module__struct_unique_strings_list::field0;
  using field1 = test_cpp2_cpp_reflection_module__struct_unique_strings_list::field1;
  using field2 = test_cpp2_cpp_reflection_module__struct_unique_strings_list::field2;
  using field3 = test_cpp2_cpp_reflection_module__struct_unique_strings_list::field3;
  using field4 = test_cpp2_cpp_reflection_module__struct_unique_strings_list::field4;
  using field5 = test_cpp2_cpp_reflection_module__struct_unique_strings_list::field5;
};

struct struct2_test_cpp2_cpp_reflection_module__struct_unique_strings_list {
  using fieldA = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldA;
  using fieldB = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldB;
  using fieldC = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldC;
  using fieldD = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldD;
  using fieldE = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldE;
  using fieldF = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldF;
  using fieldG = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldG;
};

struct struct3_test_cpp2_cpp_reflection_module__struct_unique_strings_list {
  using fieldA = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldA;
  using fieldB = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldB;
  using fieldC = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldC;
  using fieldD = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldD;
  using fieldE = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldE;
  using fieldF = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldF;
  using fieldG = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldG;
  using fieldH = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldH;
  using fieldI = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldI;
  using fieldJ = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldJ;
  using fieldK = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldK;
  using fieldL = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldL;
  using fieldM = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldM;
  using fieldN = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldN;
  using fieldO = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldO;
  using fieldP = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldP;
  using fieldQ = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldQ;
  using fieldR = test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldR;
};

} // detail
THRIFT_REGISTER_STRUCT_TRAITS(
  structA,
  detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::structA,
  module_tags::metadata,
  detail::structA_test_cpp2_cpp_reflection_module__struct_unique_strings_list,
  ::fatal::type_list<
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::a,
      int32_t,
      1,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::a,
      ::apache::thrift::thrift_category::integral,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_a
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::b,
      std::string,
      2,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::b,
      ::apache::thrift::thrift_category::string,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_b
    >
  >
);
THRIFT_REGISTER_STRUCT_TRAITS(
  structB,
  detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::structB,
  module_tags::metadata,
  detail::structB_test_cpp2_cpp_reflection_module__struct_unique_strings_list,
  ::fatal::type_list<
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::c,
      double,
      1,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::c,
      ::apache::thrift::thrift_category::floating_point,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_c
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::d,
      bool,
      2,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::d,
      ::apache::thrift::thrift_category::integral,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_d
    >
  >
);
THRIFT_REGISTER_STRUCT_TRAITS(
  struct1,
  detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::struct1,
  module_tags::metadata,
  detail::struct1_test_cpp2_cpp_reflection_module__struct_unique_strings_list,
  ::fatal::type_list<
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::field0,
      int32_t,
      1,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::field0,
      ::apache::thrift::thrift_category::integral,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_field0
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::field1,
      std::string,
      2,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::field1,
      ::apache::thrift::thrift_category::string,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_field1
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::field2,
       ::test_cpp2::cpp_reflection::enum1,
      3,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::field2,
      ::apache::thrift::thrift_category::enumeration,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_field2
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::field3,
       ::test_cpp2::cpp_reflection::enum2,
      4,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::field3,
      ::apache::thrift::thrift_category::enumeration,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_field3
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::field4,
       ::test_cpp2::cpp_reflection::union1,
      5,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::field4,
      ::apache::thrift::thrift_category::variant,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_field4
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::field5,
       ::test_cpp2::cpp_reflection::union2,
      6,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::field5,
      ::apache::thrift::thrift_category::variant,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_field5
    >
  >
);
THRIFT_REGISTER_STRUCT_TRAITS(
  struct2,
  detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::struct2,
  module_tags::metadata,
  detail::struct2_test_cpp2_cpp_reflection_module__struct_unique_strings_list,
  ::fatal::type_list<
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldA,
      int32_t,
      1,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldA,
      ::apache::thrift::thrift_category::integral,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldA
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldB,
      std::string,
      2,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldB,
      ::apache::thrift::thrift_category::string,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldB
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldC,
       ::test_cpp2::cpp_reflection::enum1,
      3,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldC,
      ::apache::thrift::thrift_category::enumeration,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldC
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldD,
       ::test_cpp2::cpp_reflection::enum2,
      4,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldD,
      ::apache::thrift::thrift_category::enumeration,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldD
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldE,
       ::test_cpp2::cpp_reflection::union1,
      5,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldE,
      ::apache::thrift::thrift_category::variant,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldE
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldF,
       ::test_cpp2::cpp_reflection::union2,
      6,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldF,
      ::apache::thrift::thrift_category::variant,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldF
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldG,
       ::test_cpp2::cpp_reflection::struct1,
      7,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldG,
      ::apache::thrift::thrift_category::structure,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldG
    >
  >
);
THRIFT_REGISTER_STRUCT_TRAITS(
  struct3,
  detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::struct3,
  module_tags::metadata,
  detail::struct3_test_cpp2_cpp_reflection_module__struct_unique_strings_list,
  ::fatal::type_list<
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldA,
      int32_t,
      1,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldA,
      ::apache::thrift::thrift_category::integral,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldA
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldB,
      std::string,
      2,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldB,
      ::apache::thrift::thrift_category::string,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldB
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldC,
       ::test_cpp2::cpp_reflection::enum1,
      3,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldC,
      ::apache::thrift::thrift_category::enumeration,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldC
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldD,
       ::test_cpp2::cpp_reflection::enum2,
      4,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldD,
      ::apache::thrift::thrift_category::enumeration,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldD
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldE,
       ::test_cpp2::cpp_reflection::union1,
      5,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldE,
      ::apache::thrift::thrift_category::variant,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldE
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldF,
       ::test_cpp2::cpp_reflection::union2,
      6,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldF,
      ::apache::thrift::thrift_category::variant,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldF
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldG,
       ::test_cpp2::cpp_reflection::struct1,
      7,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldG,
      ::apache::thrift::thrift_category::structure,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldG
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldH,
       ::test_cpp2::cpp_reflection::union2,
      8,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldH,
      ::apache::thrift::thrift_category::variant,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldH
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldI,
      std::vector<int32_t>,
      9,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldI,
      ::apache::thrift::thrift_category::list,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldI
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldJ,
      std::vector<std::string>,
      10,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldJ,
      ::apache::thrift::thrift_category::list,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldJ
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldK,
      std::vector<std::string>,
      11,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldK,
      ::apache::thrift::thrift_category::list,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldK
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldL,
      std::vector< ::test_cpp2::cpp_reflection::structA>,
      12,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldL,
      ::apache::thrift::thrift_category::list,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldL
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldM,
      std::set<int32_t>,
      13,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldM,
      ::apache::thrift::thrift_category::set,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldM
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldN,
      std::set<std::string>,
      14,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldN,
      ::apache::thrift::thrift_category::set,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldN
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldO,
      std::set<std::string>,
      15,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldO,
      ::apache::thrift::thrift_category::set,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldO
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldP,
      std::set< ::test_cpp2::cpp_reflection::structB>,
      16,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldP,
      ::apache::thrift::thrift_category::set,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldP
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldQ,
      std::map<std::string,  ::test_cpp2::cpp_reflection::structA>,
      17,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldQ,
      ::apache::thrift::thrift_category::map,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldQ
    >,
    ::apache::thrift::reflected_struct_data_member<
      detail::test_cpp2_cpp_reflection_module__struct_unique_strings_list::fieldR,
      std::map<std::string,  ::test_cpp2::cpp_reflection::structB>,
      18,
      detail::test_cpp2_cpp_reflection_module__struct_unique_data_member_getters_list::fieldR,
      ::apache::thrift::thrift_category::map,
      detail::test_cpp2_cpp_reflection_module__struct_unique_member_pod_list::test_cpp2_cpp_reflection_module_struct_member_pod_fieldR
    >
  >
);

}} // test_cpp2::cpp_reflection