#
# 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
#

from libc.stdint cimport (
    int8_t as cint8_t,
    int16_t as cint16_t,
    int32_t as cint32_t,
    int64_t as cint64_t,
    uint16_t as cuint16_t,
    uint32_t as cuint32_t,
)
from libcpp.string cimport string
from libcpp cimport bool as cbool, nullptr, nullptr_t
from cpython cimport bool as pbool
from libcpp.memory cimport shared_ptr, unique_ptr
from libcpp.vector cimport vector
from libcpp.set cimport set as cset
from libcpp.map cimport map as cmap, pair as cpair
from libcpp.unordered_map cimport unordered_map as cumap
cimport folly.iobuf as _fbthrift_iobuf
from thrift.python.exceptions cimport cTException
from thrift.py3.types cimport (
    bstring,
    field_ref as __field_ref,
    optional_field_ref as __optional_field_ref,
    required_field_ref as __required_field_ref,
    terse_field_ref as __terse_field_ref,
    union_field_ref as __union_field_ref,
    get_union_field_value as __get_union_field_value,
)
from thrift.python.common cimport cThriftMetadata as __fbthrift_cThriftMetadata
cimport thrift.py3.exceptions
cimport thrift.py3.types
from thrift.python.common cimport (
    RpcOptions as __RpcOptions,
    MetadataBox as __MetadataBox,
)
from folly.optional cimport cOptional as __cOptional

cimport includes.types as _includes_types
cimport includes.cbindings as _includes_cbindings

cimport module.types as _fbthrift_types
cimport module.types_fields as _fbthrift_types_fields
cimport module.cbindings as _module_cbindings

cdef extern from "thrift/compiler/test/fixtures/mcpp2-compare/gen-py3/module/types.h":
  pass



cdef class Empty(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.cEmpty] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__Empty_FieldsSetter _fields_setter

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cEmpty])



cdef class ASimpleStruct(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.cASimpleStruct] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__ASimpleStruct_FieldsSetter _fields_setter
    cdef inline object boolField_impl(self)

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cASimpleStruct])



cdef class ASimpleStructNoexcept(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.cASimpleStructNoexcept] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__ASimpleStructNoexcept_FieldsSetter _fields_setter
    cdef inline object boolField_impl(self)

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cASimpleStructNoexcept])



cdef class MyStruct(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.cMyStruct] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__MyStruct_FieldsSetter _fields_setter
    cdef inline object MyBoolField_impl(self)
    cdef inline object MyIntField_impl(self)
    cdef inline object MyStringField_impl(self)
    cdef inline object MyStringField2_impl(self)
    cdef inline object MyBinaryField_impl(self)
    cdef inline object MyBinaryField2_impl(self)
    cdef inline object MyBinaryField3_impl(self)
    cdef inline object MyBinaryListField4_impl(self)
    cdef inline object MyMapEnumAndInt_impl(self)
    cdef inline object MyCustomField_impl(self)
    cdef inline object MyOptCustomField_impl(self)
    cdef object __fbthrift_cached_MyBinaryListField4
    cdef Map__MyEnumA_string __fbthrift_cached_MyMapEnumAndInt
    cdef _fbthrift_iobuf.IOBuf __fbthrift_cached_MyCustomField
    cdef _fbthrift_iobuf.IOBuf __fbthrift_cached_MyOptCustomField

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cMyStruct])



cdef class SimpleUnion(thrift.py3.types.Union):
    cdef shared_ptr[_module_cbindings.cSimpleUnion] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef readonly object type
    cdef readonly object value
    cdef _load_cache(SimpleUnion self)

    @staticmethod
    cdef unique_ptr[_module_cbindings.cSimpleUnion] _make_instance(
        _module_cbindings.cSimpleUnion* base_instance,
        object intValue,
        str stringValue
    ) except *

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cSimpleUnion])



cdef class ComplexUnion(thrift.py3.types.Union):
    cdef shared_ptr[_module_cbindings.cComplexUnion] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef readonly object type
    cdef readonly object value
    cdef _load_cache(ComplexUnion self)

    @staticmethod
    cdef unique_ptr[_module_cbindings.cComplexUnion] _make_instance(
        _module_cbindings.cComplexUnion* base_instance,
        object intValue,
        object opt_intValue,
        str stringValue,
        str opt_stringValue,
        object intValue2,
        object intValue3,
        object doubelValue,
        pbool boolValue,
        object union_list,
        object union_set,
        object union_map,
        object opt_union_map,
        object enum_field,
        object enum_container,
        MyStruct a_struct,
        object a_set_struct,
        SimpleUnion a_union,
        SimpleUnion opt_a_union,
        object a_union_list,
        object a_union_typedef,
        object a_union_typedef_list,
        bytes MyBinaryField,
        bytes MyBinaryField2,
        object MyBinaryListField4,
        MyStruct ref_field,
        MyStruct ref_field2,
        AnException excp_field,
        _fbthrift_iobuf.IOBuf MyCustomField
    ) except *

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cComplexUnion])



cdef class AnException(thrift.py3.exceptions.GeneratedError):
    cdef shared_ptr[_module_cbindings.cAnException] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__AnException_FieldsSetter _fields_setter
    cdef inline object code_impl(self)
    cdef inline object req_code_impl(self)
    cdef inline object message2_impl(self)
    cdef inline object req_message_impl(self)
    cdef inline object exception_list_impl(self)
    cdef inline object exception_set_impl(self)
    cdef inline object exception_map_impl(self)
    cdef inline object req_exception_map_impl(self)
    cdef inline object enum_field_impl(self)
    cdef inline object enum_container_impl(self)
    cdef inline object a_struct_impl(self)
    cdef inline object a_set_struct_impl(self)
    cdef inline object a_union_list_impl(self)
    cdef inline object union_typedef_impl(self)
    cdef inline object a_union_typedef_list_impl(self)
    cdef inline object MyCustomField_impl(self)
    cdef inline object MyOptCustomField_impl(self)
    cdef object __fbthrift_cached_exception_list
    cdef Set__i64 __fbthrift_cached_exception_set
    cdef Map__string_i32 __fbthrift_cached_exception_map
    cdef Map__string_i32 __fbthrift_cached_req_exception_map
    cdef object __fbthrift_cached_enum_field
    cdef object __fbthrift_cached_enum_container
    cdef MyStruct __fbthrift_cached_a_struct
    cdef Set__MyStruct __fbthrift_cached_a_set_struct
    cdef object __fbthrift_cached_a_union_list
    cdef Set__SimpleUnion __fbthrift_cached_union_typedef
    cdef object __fbthrift_cached_a_union_typedef_list
    cdef _fbthrift_iobuf.IOBuf __fbthrift_cached_MyCustomField
    cdef _fbthrift_iobuf.IOBuf __fbthrift_cached_MyOptCustomField

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cAnException])



cdef class AnotherException(thrift.py3.exceptions.GeneratedError):
    cdef shared_ptr[_module_cbindings.cAnotherException] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__AnotherException_FieldsSetter _fields_setter
    cdef inline object code_impl(self)
    cdef inline object req_code_impl(self)
    cdef inline object message_impl(self)

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cAnotherException])



cdef class containerStruct(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.ccontainerStruct] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__containerStruct_FieldsSetter _fields_setter
    cdef inline object fieldA_impl(self)
    cdef inline object req_fieldA_impl(self)
    cdef inline object opt_fieldA_impl(self)
    cdef inline object fieldB_impl(self)
    cdef inline object req_fieldB_impl(self)
    cdef inline object opt_fieldB_impl(self)
    cdef inline object fieldC_impl(self)
    cdef inline object req_fieldC_impl(self)
    cdef inline object opt_fieldC_impl(self)
    cdef inline object fieldD_impl(self)
    cdef inline object fieldE_impl(self)
    cdef inline object req_fieldE_impl(self)
    cdef inline object opt_fieldE_impl(self)
    cdef inline object fieldF_impl(self)
    cdef inline object fieldG_impl(self)
    cdef inline object fieldH_impl(self)
    cdef inline object fieldI_impl(self)
    cdef inline object fieldJ_impl(self)
    cdef inline object fieldK_impl(self)
    cdef inline object fieldL_impl(self)
    cdef inline object fieldM_impl(self)
    cdef inline object fieldN_impl(self)
    cdef inline object fieldO_impl(self)
    cdef inline object fieldP_impl(self)
    cdef inline object fieldQ_impl(self)
    cdef inline object fieldR_impl(self)
    cdef inline object req_fieldR_impl(self)
    cdef inline object opt_fieldR_impl(self)
    cdef inline object fieldS_impl(self)
    cdef inline object fieldT_impl(self)
    cdef inline object fieldU_impl(self)
    cdef inline object fieldV_impl(self)
    cdef inline object req_fieldV_impl(self)
    cdef inline object opt_fieldV_impl(self)
    cdef inline object fieldW_impl(self)
    cdef inline object fieldX_impl(self)
    cdef inline object req_fieldX_impl(self)
    cdef inline object opt_fieldX_impl(self)
    cdef inline object fieldY_impl(self)
    cdef inline object fieldZ_impl(self)
    cdef inline object fieldAA_impl(self)
    cdef inline object fieldAB_impl(self)
    cdef inline object fieldAC_impl(self)
    cdef inline object fieldAD_impl(self)
    cdef inline object fieldAE_impl(self)
    cdef inline object fieldSD_impl(self)
    cdef Map__string_bool __fbthrift_cached_fieldB
    cdef Map__string_bool __fbthrift_cached_req_fieldB
    cdef Map__string_bool __fbthrift_cached_opt_fieldB
    cdef Set__i32 __fbthrift_cached_fieldC
    cdef Set__i32 __fbthrift_cached_req_fieldC
    cdef Set__i32 __fbthrift_cached_opt_fieldC
    cdef object __fbthrift_cached_fieldF
    cdef Map__string_Map__string_Map__string_i32 __fbthrift_cached_fieldG
    cdef object __fbthrift_cached_fieldH
    cdef Map__string_List__i32 __fbthrift_cached_fieldJ
    cdef object __fbthrift_cached_fieldK
    cdef Set__Set__Set__bool __fbthrift_cached_fieldL
    cdef Map__Set__List__i32_Map__List__Set__string_string __fbthrift_cached_fieldM
    cdef object __fbthrift_cached_fieldO
    cdef object __fbthrift_cached_fieldP
    cdef object __fbthrift_cached_fieldQ
    cdef object __fbthrift_cached_fieldR
    cdef object __fbthrift_cached_req_fieldR
    cdef object __fbthrift_cached_opt_fieldR
    cdef object __fbthrift_cached_fieldS
    cdef object __fbthrift_cached_fieldT
    cdef object __fbthrift_cached_fieldU
    cdef MyStruct __fbthrift_cached_fieldV
    cdef MyStruct __fbthrift_cached_req_fieldV
    cdef MyStruct __fbthrift_cached_opt_fieldV
    cdef Set__MyStruct __fbthrift_cached_fieldW
    cdef ComplexUnion __fbthrift_cached_fieldX
    cdef ComplexUnion __fbthrift_cached_req_fieldX
    cdef ComplexUnion __fbthrift_cached_opt_fieldX
    cdef object __fbthrift_cached_fieldY
    cdef Set__SimpleUnion __fbthrift_cached_fieldZ
    cdef object __fbthrift_cached_fieldAA
    cdef Map__Bar__double_Baz__i32 __fbthrift_cached_fieldAB
    cdef object __fbthrift_cached_fieldAC
    cdef object __fbthrift_cached_fieldAD
    cdef Map__string_i32 __fbthrift_cached_fieldAE

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.ccontainerStruct])



cdef class MyIncludedStruct(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.cMyIncludedStruct] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__MyIncludedStruct_FieldsSetter _fields_setter
    cdef inline object MyIncludedInt_impl(self)
    cdef inline object MyIncludedStruct_impl(self)
    cdef inline object ARefField_impl(self)
    cdef inline object ARequiredField_impl(self)
    cdef _includes_types.AStruct __fbthrift_cached_MyIncludedStruct
    cdef _includes_types.AStruct __fbthrift_cached_ARefField
    cdef _includes_types.AStruct __fbthrift_cached_ARequiredField

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cMyIncludedStruct])



cdef class AnnotatedStruct(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.cAnnotatedStruct] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__AnnotatedStruct_FieldsSetter _fields_setter
    cdef inline object no_annotation_impl(self)
    cdef inline object cpp_unique_ref_impl(self)
    cdef inline object cpp2_unique_ref_impl(self)
    cdef inline object container_with_ref_impl(self)
    cdef inline object req_cpp_unique_ref_impl(self)
    cdef inline object req_cpp2_unique_ref_impl(self)
    cdef inline object req_container_with_ref_impl(self)
    cdef inline object opt_cpp_unique_ref_impl(self)
    cdef inline object opt_cpp2_unique_ref_impl(self)
    cdef inline object opt_container_with_ref_impl(self)
    cdef inline object ref_type_unique_impl(self)
    cdef inline object ref_type_shared_impl(self)
    cdef inline object ref_type_const_impl(self)
    cdef inline object req_ref_type_shared_impl(self)
    cdef inline object req_ref_type_const_impl(self)
    cdef inline object req_ref_type_unique_impl(self)
    cdef inline object opt_ref_type_const_impl(self)
    cdef inline object opt_ref_type_unique_impl(self)
    cdef inline object opt_ref_type_shared_impl(self)
    cdef inline object base_type_impl(self)
    cdef inline object list_type_impl(self)
    cdef inline object set_type_impl(self)
    cdef inline object map_type_impl(self)
    cdef inline object map_struct_type_impl(self)
    cdef inline object iobuf_type_impl(self)
    cdef inline object iobuf_ptr_impl(self)
    cdef inline object list_i32_template_impl(self)
    cdef inline object list_string_template_impl(self)
    cdef inline object set_template_impl(self)
    cdef inline object map_template_impl(self)
    cdef inline object typedef_list_template_impl(self)
    cdef inline object typedef_deque_template_impl(self)
    cdef inline object typedef_set_template_impl(self)
    cdef inline object typedef_map_template_impl(self)
    cdef inline object indirection_a_impl(self)
    cdef inline object indirection_b_impl(self)
    cdef inline object indirection_c_impl(self)
    cdef inline object iobuf_type_val_impl(self)
    cdef inline object iobuf_ptr_val_impl(self)
    cdef inline object struct_struct_impl(self)
    cdef containerStruct __fbthrift_cached_no_annotation
    cdef containerStruct __fbthrift_cached_cpp_unique_ref
    cdef containerStruct __fbthrift_cached_cpp2_unique_ref
    cdef Map__i32_List__string __fbthrift_cached_container_with_ref
    cdef containerStruct __fbthrift_cached_req_cpp_unique_ref
    cdef containerStruct __fbthrift_cached_req_cpp2_unique_ref
    cdef object __fbthrift_cached_req_container_with_ref
    cdef containerStruct __fbthrift_cached_opt_cpp_unique_ref
    cdef containerStruct __fbthrift_cached_opt_cpp2_unique_ref
    cdef Set__i32 __fbthrift_cached_opt_container_with_ref
    cdef containerStruct __fbthrift_cached_ref_type_unique
    cdef containerStruct __fbthrift_cached_ref_type_shared
    cdef Map__i32_List__string __fbthrift_cached_ref_type_const
    cdef containerStruct __fbthrift_cached_req_ref_type_shared
    cdef containerStruct __fbthrift_cached_req_ref_type_const
    cdef object __fbthrift_cached_req_ref_type_unique
    cdef containerStruct __fbthrift_cached_opt_ref_type_const
    cdef containerStruct __fbthrift_cached_opt_ref_type_unique
    cdef Set__i32 __fbthrift_cached_opt_ref_type_shared
    cdef object __fbthrift_cached_list_type
    cdef folly_sorted_vector_set_std_string__Set__string __fbthrift_cached_set_type
    cdef FakeMap__Map__i64_double __fbthrift_cached_map_type
    cdef std_unordered_map_std_string_containerStruct__Map__string_containerStruct __fbthrift_cached_map_struct_type
    cdef _fbthrift_iobuf.IOBuf __fbthrift_cached_iobuf_type
    cdef _fbthrift_iobuf.IOBuf __fbthrift_cached_iobuf_ptr
    cdef object __fbthrift_cached_list_i32_template
    cdef object __fbthrift_cached_list_string_template
    cdef folly_sorted_vector_set__Set__string __fbthrift_cached_set_template
    cdef folly_sorted_vector_map__Map__i64_string __fbthrift_cached_map_template
    cdef object __fbthrift_cached_typedef_list_template
    cdef object __fbthrift_cached_typedef_deque_template
    cdef folly_sorted_vector_set__Set__string __fbthrift_cached_typedef_set_template
    cdef folly_sorted_vector_map__Map__i64_string __fbthrift_cached_typedef_map_template
    cdef object __fbthrift_cached_indirection_b
    cdef Set__Baz__i32 __fbthrift_cached_indirection_c
    cdef _fbthrift_iobuf.IOBuf __fbthrift_cached_iobuf_type_val
    cdef _fbthrift_iobuf.IOBuf __fbthrift_cached_iobuf_ptr_val
    cdef containerStruct __fbthrift_cached_struct_struct

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cAnnotatedStruct])



cdef class ComplexContainerStruct(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.cComplexContainerStruct] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__ComplexContainerStruct_FieldsSetter _fields_setter
    cdef inline object map_of_iobufs_impl(self)
    cdef inline object map_of_iobuf_ptrs_impl(self)
    cdef Map__string_folly_IOBuf__binary __fbthrift_cached_map_of_iobufs
    cdef Map__string_std_unique_ptr_folly_IOBuf__binary __fbthrift_cached_map_of_iobuf_ptrs

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cComplexContainerStruct])



cdef class FloatStruct(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.cFloatStruct] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__FloatStruct_FieldsSetter _fields_setter
    cdef inline object floatField_impl(self)
    cdef inline object doubleField_impl(self)

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cFloatStruct])



cdef class FloatUnion(thrift.py3.types.Union):
    cdef shared_ptr[_module_cbindings.cFloatUnion] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef readonly object type
    cdef readonly object value
    cdef _load_cache(FloatUnion self)

    @staticmethod
    cdef unique_ptr[_module_cbindings.cFloatUnion] _make_instance(
        _module_cbindings.cFloatUnion* base_instance,
        object floatSide,
        object doubleSide
    ) except *

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cFloatUnion])



cdef class AllRequiredNoExceptMoveCtrStruct(thrift.py3.types.Struct):
    cdef shared_ptr[_module_cbindings.cAllRequiredNoExceptMoveCtrStruct] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    cdef _fbthrift_types_fields.__AllRequiredNoExceptMoveCtrStruct_FieldsSetter _fields_setter
    cdef inline object intField_impl(self)

    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.cAllRequiredNoExceptMoveCtrStruct])


cdef class Map__string_i64(thrift.py3.types.Map):
    cdef shared_ptr[cmap[string,cint64_t]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[string,cint64_t]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[string,cint64_t]] Map__string_i64__make_instance(object items) except *

cdef class Map__Empty_MyStruct(thrift.py3.types.Map):
    cdef shared_ptr[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]] Map__Empty_MyStruct__make_instance(object items) except *

cdef vector[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]] List__Map__Empty_MyStruct__make_instance(object items) except *
cdef object List__Map__Empty_MyStruct__from_cpp(const vector[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]]&) except *

cdef vector[vector[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]]] List__List__Map__Empty_MyStruct__make_instance(object items) except *
cdef object List__List__Map__Empty_MyStruct__from_cpp(const vector[vector[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]]]&) except *

cdef vector[vector[vector[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]]]] List__List__List__Map__Empty_MyStruct__make_instance(object items) except *
cdef object List__List__List__Map__Empty_MyStruct__from_cpp(const vector[vector[vector[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]]]]&) except *

cdef vector[_module_cbindings.cMyEnumA] List__MyEnumA__make_instance(object items) except *
cdef object List__MyEnumA__from_cpp(const vector[_module_cbindings.cMyEnumA]&) except *

cdef class Set__MyStruct(thrift.py3.types.Set):
    cdef shared_ptr[cset[_module_cbindings.cMyStruct]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[_module_cbindings.cMyStruct]])

cdef shared_ptr[cset[_module_cbindings.cMyStruct]] Set__MyStruct__make_instance(object items) except *

cdef vector[_module_cbindings.cComplexUnion] List__ComplexUnion__make_instance(object items) except *
cdef object List__ComplexUnion__from_cpp(const vector[_module_cbindings.cComplexUnion]&) except *

cdef vector[string] List__string__make_instance(object items) except *
cdef object List__string__from_cpp(const vector[string]&) except *

cdef class Set__List__string(thrift.py3.types.Set):
    cdef shared_ptr[cset[vector[string]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[vector[string]]])

cdef shared_ptr[cset[vector[string]]] Set__List__string__make_instance(object items) except *

cdef class Set__List__List__Map__Empty_MyStruct(thrift.py3.types.Set):
    cdef shared_ptr[cset[vector[vector[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]]]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[vector[vector[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]]]]])

cdef shared_ptr[cset[vector[vector[cmap[_module_cbindings.cEmpty,_module_cbindings.cMyStruct]]]]] Set__List__List__Map__Empty_MyStruct__make_instance(object items) except *

cdef class Map__i32_List__string(thrift.py3.types.Map):
    cdef shared_ptr[cmap[cint32_t,vector[string]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[cint32_t,vector[string]]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[cint32_t,vector[string]]] Map__i32_List__string__make_instance(object items) except *

cdef vector[cbool] List__bool__make_instance(object items) except *
cdef object List__bool__from_cpp(const vector[cbool]&) except *

cdef vector[cint32_t] List__i32__make_instance(object items) except *
cdef object List__i32__from_cpp(const vector[cint32_t]&) except *

cdef vector[vector[cint32_t]] List__List__i32__make_instance(object items) except *
cdef object List__List__i32__from_cpp(const vector[vector[cint32_t]]&) except *

cdef vector[vector[vector[cint32_t]]] List__List__List__i32__make_instance(object items) except *
cdef object List__List__List__i32__from_cpp(const vector[vector[vector[cint32_t]]]&) except *

cdef vector[vector[vector[vector[cint32_t]]]] List__List__List__List__i32__make_instance(object items) except *
cdef object List__List__List__List__i32__from_cpp(const vector[vector[vector[vector[cint32_t]]]]&) except *

cdef class Set__List__i32(thrift.py3.types.Set):
    cdef shared_ptr[cset[vector[cint32_t]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[vector[cint32_t]]])

cdef shared_ptr[cset[vector[cint32_t]]] Set__List__i32__make_instance(object items) except *

cdef class Set__string(thrift.py3.types.Set):
    cdef shared_ptr[cset[string]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[string]])

cdef shared_ptr[cset[string]] Set__string__make_instance(object items) except *

cdef vector[cset[string]] List__Set__string__make_instance(object items) except *
cdef object List__Set__string__from_cpp(const vector[cset[string]]&) except *

cdef class Map__List__Set__string_string(thrift.py3.types.Map):
    cdef shared_ptr[cmap[vector[cset[string]],string]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[vector[cset[string]],string]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[vector[cset[string]],string]] Map__List__Set__string_string__make_instance(object items) except *

cdef class Map__Set__List__i32_Map__List__Set__string_string(thrift.py3.types.Map):
    cdef shared_ptr[cmap[cset[vector[cint32_t]],cmap[vector[cset[string]],string]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[cset[vector[cint32_t]],cmap[vector[cset[string]],string]]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[cset[vector[cint32_t]],cmap[vector[cset[string]],string]]] Map__Set__List__i32_Map__List__Set__string_string__make_instance(object items) except *

cdef vector[string] List__binary__make_instance(object items) except *
cdef object List__binary__from_cpp(const vector[string]&) except *

cdef class Map__MyEnumA_string(thrift.py3.types.Map):
    cdef shared_ptr[cmap[_module_cbindings.cMyEnumA,string]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[_module_cbindings.cMyEnumA,string]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[_module_cbindings.cMyEnumA,string]] Map__MyEnumA_string__make_instance(object items) except *

cdef class Set__i64(thrift.py3.types.Set):
    cdef shared_ptr[cset[cint64_t]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[cint64_t]])

cdef shared_ptr[cset[cint64_t]] Set__i64__make_instance(object items) except *

cdef class Map__string_i32(thrift.py3.types.Map):
    cdef shared_ptr[cmap[string,cint32_t]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[string,cint32_t]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[string,cint32_t]] Map__string_i32__make_instance(object items) except *

cdef vector[_module_cbindings.cSimpleUnion] List__SimpleUnion__make_instance(object items) except *
cdef object List__SimpleUnion__from_cpp(const vector[_module_cbindings.cSimpleUnion]&) except *

cdef class Set__SimpleUnion(thrift.py3.types.Set):
    cdef shared_ptr[cset[_module_cbindings.cSimpleUnion]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[_module_cbindings.cSimpleUnion]])

cdef shared_ptr[cset[_module_cbindings.cSimpleUnion]] Set__SimpleUnion__make_instance(object items) except *

cdef vector[cset[_module_cbindings.cSimpleUnion]] List__Set__SimpleUnion__make_instance(object items) except *
cdef object List__Set__SimpleUnion__from_cpp(const vector[cset[_module_cbindings.cSimpleUnion]]&) except *

cdef class Map__string_bool(thrift.py3.types.Map):
    cdef shared_ptr[cmap[string,cbool]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[string,cbool]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[string,cbool]] Map__string_bool__make_instance(object items) except *

cdef class Set__i32(thrift.py3.types.Set):
    cdef shared_ptr[cset[cint32_t]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[cint32_t]])

cdef shared_ptr[cset[cint32_t]] Set__i32__make_instance(object items) except *

cdef class Map__string_Map__string_i32(thrift.py3.types.Map):
    cdef shared_ptr[cmap[string,cmap[string,cint32_t]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[string,cmap[string,cint32_t]]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[string,cmap[string,cint32_t]]] Map__string_Map__string_i32__make_instance(object items) except *

cdef class Map__string_Map__string_Map__string_i32(thrift.py3.types.Map):
    cdef shared_ptr[cmap[string,cmap[string,cmap[string,cint32_t]]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[string,cmap[string,cmap[string,cint32_t]]]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[string,cmap[string,cmap[string,cint32_t]]]] Map__string_Map__string_Map__string_i32__make_instance(object items) except *

cdef vector[cset[cint32_t]] List__Set__i32__make_instance(object items) except *
cdef object List__Set__i32__from_cpp(const vector[cset[cint32_t]]&) except *

cdef class Map__string_List__i32(thrift.py3.types.Map):
    cdef shared_ptr[cmap[string,vector[cint32_t]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[string,vector[cint32_t]]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[string,vector[cint32_t]]] Map__string_List__i32__make_instance(object items) except *

cdef class Set__bool(thrift.py3.types.Set):
    cdef shared_ptr[cset[cbool]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[cbool]])

cdef shared_ptr[cset[cbool]] Set__bool__make_instance(object items) except *

cdef class Set__Set__bool(thrift.py3.types.Set):
    cdef shared_ptr[cset[cset[cbool]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[cset[cbool]]])

cdef shared_ptr[cset[cset[cbool]]] Set__Set__bool__make_instance(object items) except *

cdef class Set__Set__Set__bool(thrift.py3.types.Set):
    cdef shared_ptr[cset[cset[cset[cbool]]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[cset[cset[cbool]]]])

cdef shared_ptr[cset[cset[cset[cbool]]]] Set__Set__Set__bool__make_instance(object items) except *

cdef class Map__Bar__double_Baz__i32(thrift.py3.types.Map):
    cdef shared_ptr[cmap[_module_cbindings.Bar,_module_cbindings.Baz]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[_module_cbindings.Bar,_module_cbindings.Baz]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[_module_cbindings.Bar,_module_cbindings.Baz]] Map__Bar__double_Baz__i32__make_instance(object items) except *

cdef _module_cbindings.folly_small_vector_int64_t_8 folly_small_vector_int64_t_8__List__i64__make_instance(object items) except *
cdef object folly_small_vector_int64_t_8__List__i64__from_cpp(const _module_cbindings.folly_small_vector_int64_t_8&) except *

cdef class folly_sorted_vector_set_std_string__Set__string(thrift.py3.types.Set):
    cdef shared_ptr[_module_cbindings.folly_sorted_vector_set_std_string] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.folly_sorted_vector_set_std_string])

cdef shared_ptr[_module_cbindings.folly_sorted_vector_set_std_string] folly_sorted_vector_set_std_string__Set__string__make_instance(object items) except *

cdef class FakeMap__Map__i64_double(thrift.py3.types.Map):
    cdef shared_ptr[_module_cbindings.FakeMap] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.FakeMap])
    cdef _check_key_type(self, key)

cdef shared_ptr[_module_cbindings.FakeMap] FakeMap__Map__i64_double__make_instance(object items) except *

cdef class std_unordered_map_std_string_containerStruct__Map__string_containerStruct(thrift.py3.types.Map):
    cdef shared_ptr[_module_cbindings.std_unordered_map_std_string_containerStruct] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.std_unordered_map_std_string_containerStruct])
    cdef _check_key_type(self, key)

cdef shared_ptr[_module_cbindings.std_unordered_map_std_string_containerStruct] std_unordered_map_std_string_containerStruct__Map__string_containerStruct__make_instance(object items) except *

cdef _module_cbindings.std_list[cint32_t] std_list__List__i32__make_instance(object items) except *
cdef object std_list__List__i32__from_cpp(const _module_cbindings.std_list[cint32_t]&) except *

cdef _module_cbindings.std_deque[string] std_deque__List__string__make_instance(object items) except *
cdef object std_deque__List__string__from_cpp(const _module_cbindings.std_deque[string]&) except *

cdef class folly_sorted_vector_set__Set__string(thrift.py3.types.Set):
    cdef shared_ptr[_module_cbindings.folly_sorted_vector_set[string]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.folly_sorted_vector_set[string]])

cdef shared_ptr[_module_cbindings.folly_sorted_vector_set[string]] folly_sorted_vector_set__Set__string__make_instance(object items) except *

cdef class folly_sorted_vector_map__Map__i64_string(thrift.py3.types.Map):
    cdef shared_ptr[_module_cbindings.folly_sorted_vector_map[cint64_t,string]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[_module_cbindings.folly_sorted_vector_map[cint64_t,string]])
    cdef _check_key_type(self, key)

cdef shared_ptr[_module_cbindings.folly_sorted_vector_map[cint64_t,string]] folly_sorted_vector_map__Map__i64_string__make_instance(object items) except *

cdef vector[_module_cbindings.Bar] List__Bar__double__make_instance(object items) except *
cdef object List__Bar__double__from_cpp(const vector[_module_cbindings.Bar]&) except *

cdef class Set__Baz__i32(thrift.py3.types.Set):
    cdef shared_ptr[cset[_module_cbindings.Baz]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cset[_module_cbindings.Baz]])

cdef shared_ptr[cset[_module_cbindings.Baz]] Set__Baz__i32__make_instance(object items) except *

cdef class Map__string_folly_IOBuf__binary(thrift.py3.types.Map):
    cdef shared_ptr[cmap[string,_fbthrift_iobuf.cIOBuf]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[string,_fbthrift_iobuf.cIOBuf]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[string,_fbthrift_iobuf.cIOBuf]] Map__string_folly_IOBuf__binary__make_instance(object items) except *

cdef class Map__string_std_unique_ptr_folly_IOBuf__binary(thrift.py3.types.Map):
    cdef shared_ptr[cmap[string,unique_ptr[_fbthrift_iobuf.cIOBuf]]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[string,unique_ptr[_fbthrift_iobuf.cIOBuf]]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[string,unique_ptr[_fbthrift_iobuf.cIOBuf]]] Map__string_std_unique_ptr_folly_IOBuf__binary__make_instance(object items) except *

cdef class Map__i32_string(thrift.py3.types.Map):
    cdef shared_ptr[cmap[cint32_t,string]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[cint32_t,string]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[cint32_t,string]] Map__i32_string__make_instance(object items) except *

cdef vector[cmap[string,cint32_t]] List__Map__string_i32__make_instance(object items) except *
cdef object List__Map__string_i32__from_cpp(const vector[cmap[string,cint32_t]]&) except *

cdef class Map__i16_string(thrift.py3.types.Map):
    cdef shared_ptr[cmap[cint16_t,string]] _cpp_obj_FBTHRIFT_ONLY_DO_NOT_USE
    @staticmethod
    cdef _create_FBTHRIFT_ONLY_DO_NOT_USE(shared_ptr[cmap[cint16_t,string]])
    cdef _check_key_type(self, key)

cdef shared_ptr[cmap[cint16_t,string]] Map__i16_string__make_instance(object items) except *

cdef vector[cmap[cint16_t,string]] List__Map__i16_string__make_instance(object items) except *
cdef object List__Map__i16_string__from_cpp(const vector[cmap[cint16_t,string]]&) except *

cdef vector[_module_cbindings.cMyStruct] List__MyStruct__make_instance(object items) except *
cdef object List__MyStruct__from_cpp(const vector[_module_cbindings.cMyStruct]&) except *


