File indexing completed on 2025-11-19 09:50:55
0001
0002
0003
0004 #ifndef Py_STRUCTSEQ_H
0005 #define Py_STRUCTSEQ_H
0006 #ifdef __cplusplus
0007 extern "C" {
0008 #endif
0009
0010 typedef struct PyStructSequence_Field {
0011 const char *name;
0012 const char *doc;
0013 } PyStructSequence_Field;
0014
0015 typedef struct PyStructSequence_Desc {
0016 const char *name;
0017 const char *doc;
0018 PyStructSequence_Field *fields;
0019 int n_in_sequence;
0020 } PyStructSequence_Desc;
0021
0022 PyAPI_DATA(const char * const) PyStructSequence_UnnamedField;
0023
0024 #ifndef Py_LIMITED_API
0025 PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type,
0026 PyStructSequence_Desc *desc);
0027 PyAPI_FUNC(int) PyStructSequence_InitType2(PyTypeObject *type,
0028 PyStructSequence_Desc *desc);
0029 #endif
0030 PyAPI_FUNC(PyTypeObject*) PyStructSequence_NewType(PyStructSequence_Desc *desc);
0031
0032 PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type);
0033
0034 PyAPI_FUNC(void) PyStructSequence_SetItem(PyObject*, Py_ssize_t, PyObject*);
0035 PyAPI_FUNC(PyObject*) PyStructSequence_GetItem(PyObject*, Py_ssize_t);
0036
0037 #ifndef Py_LIMITED_API
0038 typedef PyTupleObject PyStructSequence;
0039 #define PyStructSequence_SET_ITEM PyStructSequence_SetItem
0040 #define PyStructSequence_GET_ITEM PyStructSequence_GetItem
0041 #endif
0042
0043 #ifdef __cplusplus
0044 }
0045 #endif
0046 #endif