Home | History | Annotate | Download | only in Include
      1 
      2 /* 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 PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type,
     25 					   PyStructSequence_Desc *desc);
     26 
     27 PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type);
     28 
     29 typedef struct {
     30 	PyObject_VAR_HEAD
     31 	PyObject *ob_item[1];
     32 } PyStructSequence;
     33 
     34 /* Macro, *only* to be used to fill in brand new objects */
     35 #define PyStructSequence_SET_ITEM(op, i, v) \
     36 	(((PyStructSequence *)(op))->ob_item[i] = v)
     37 
     38 #ifdef __cplusplus
     39 }
     40 #endif
     41 #endif /* !Py_STRUCTSEQ_H */
     42