#
# Autogenerated by Thrift for thrift/compiler/test/fixtures/int_limits/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



cdef extern from "thrift/compiler/test/fixtures/int_limits/gen-cpp2/module_metadata.h" namespace "apache::thrift::detail::md":
    cdef cppclass ExceptionMetadata[T]:
        @staticmethod
        void gen(__fbthrift_cThriftMetadata &metadata)
cdef extern from "thrift/compiler/test/fixtures/int_limits/gen-cpp2/module_metadata.h" namespace "apache::thrift::detail::md":
    cdef cppclass StructMetadata[T]:
        @staticmethod
        void gen(__fbthrift_cThriftMetadata &metadata)
cdef extern from "thrift/compiler/test/fixtures/int_limits/gen-cpp2/module_types_custom_protocol.h" namespace "::cpp2":

    cdef cppclass cLimits "::cpp2::Limits":
        cLimits() except +
        cLimits(const cLimits&) except +
        bint operator==(cLimits&)
        bint operator!=(cLimits&)
        bint operator<(cLimits&)
        bint operator>(cLimits&)
        bint operator<=(cLimits&)
        bint operator>=(cLimits&)
        __field_ref[cint64_t] max_i64_field_ref "max_i64_field_ref" ()
        __field_ref[cint64_t] min_i64_field_ref "min_i64_field_ref" ()
        __field_ref[cint32_t] max_i32_field_ref "max_i32_field_ref" ()
        __field_ref[cint32_t] min_i32_field_ref "min_i32_field_ref" ()
        __field_ref[cint16_t] max_i16_field_ref "max_i16_field_ref" ()
        __field_ref[cint16_t] min_i16_field_ref "min_i16_field_ref" ()
        __field_ref[cint8_t] max_byte_field_ref "max_byte_field_ref" ()
        __field_ref[cint8_t] min_byte_field_ref "min_byte_field_ref" ()

cdef extern from "thrift/compiler/test/fixtures/int_limits/gen-cpp2/module_constants.h" namespace "::cpp2":
    cdef cint64_t cmax_i64_const "::cpp2::module_constants::max_i64_const"
    cdef cint64_t cmin_i64_const "::cpp2::module_constants::min_i64_const"
    cdef cint32_t cmax_i32_const "::cpp2::module_constants::max_i32_const"
    cdef cint32_t cmin_i32_const "::cpp2::module_constants::min_i32_const"
    cdef cint16_t cmax_i16_const "::cpp2::module_constants::max_i16_const"
    cdef cint16_t cmin_i16_const "::cpp2::module_constants::min_i16_const"
    cdef cint8_t cmax_byte_const "::cpp2::module_constants::max_byte_const"
    cdef cint8_t cmin_byte_const "::cpp2::module_constants::min_byte_const"
