python (3.12.0)

(root)/
include/
python3.12/
structseq.h
       1  
       2  /* Named tuple object interface */
       3  
       4  #ifndef Py_STRUCTSEQ_H
       5  #define Py_STRUCTSEQ_H
       6  #ifdef __cplusplus
       7  extern "C" {
       8  #endif
       9  
      10  typedef struct PyStructSequence_Field {
      11      const char *name;
      12      const char *doc;
      13  } PyStructSequence_Field;
      14  
      15  typedef struct PyStructSequence_Desc {
      16      const char *name;
      17      const char *doc;
      18      PyStructSequence_Field *fields;
      19      int n_in_sequence;
      20  } PyStructSequence_Desc;
      21  
      22  PyAPI_DATA(const char * const) PyStructSequence_UnnamedField;
      23  
      24  #ifndef Py_LIMITED_API
      25  PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type,
      26                                             PyStructSequence_Desc *desc);
      27  PyAPI_FUNC(int) PyStructSequence_InitType2(PyTypeObject *type,
      28                                             PyStructSequence_Desc *desc);
      29  #endif
      30  PyAPI_FUNC(PyTypeObject*) PyStructSequence_NewType(PyStructSequence_Desc *desc);
      31  
      32  PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type);
      33  
      34  #ifndef Py_LIMITED_API
      35  typedef PyTupleObject PyStructSequence;
      36  
      37  /* Macro, *only* to be used to fill in brand new objects */
      38  #define PyStructSequence_SET_ITEM(op, i, v) PyTuple_SET_ITEM((op), (i), (v))
      39  
      40  #define PyStructSequence_GET_ITEM(op, i) PyTuple_GET_ITEM((op), (i))
      41  #endif
      42  
      43  PyAPI_FUNC(void) PyStructSequence_SetItem(PyObject*, Py_ssize_t, PyObject*);
      44  PyAPI_FUNC(PyObject*) PyStructSequence_GetItem(PyObject*, Py_ssize_t);
      45  
      46  #ifdef __cplusplus
      47  }
      48  #endif
      49  #endif /* !Py_STRUCTSEQ_H */