File: /Users/paulross/dev/Python-3.6.2/Include/structseq.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       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:     char *name;
      12:     char *doc;
      13: } PyStructSequence_Field;
      14: 
      15: typedef struct PyStructSequence_Desc {
      16:     char *name;
      17:     char *doc;
      18:     struct PyStructSequence_Field *fields;
      19:     int n_in_sequence;
      20: } PyStructSequence_Desc;
      21: 
      22: extern char* 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 */
      50: