Merged revisions 81656 via svnmerge from
[python/dscho.git] / Include / structseq.h
blob0b8d387937e559f8658597f5d7092e92047f51fa
2 /* Tuple object interface */
4 #ifndef Py_STRUCTSEQ_H
5 #define Py_STRUCTSEQ_H
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
10 typedef struct PyStructSequence_Field {
11 char *name;
12 char *doc;
13 } PyStructSequence_Field;
15 typedef struct PyStructSequence_Desc {
16 char *name;
17 char *doc;
18 struct PyStructSequence_Field *fields;
19 int n_in_sequence;
20 } PyStructSequence_Desc;
22 extern char* PyStructSequence_UnnamedField;
24 PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type,
25 PyStructSequence_Desc *desc);
27 PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type);
29 typedef struct {
30 PyObject_VAR_HEAD
31 PyObject *ob_item[1];
32 } PyStructSequence;
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)
38 #define PyStructSequence_GET_ITEM(op, i) \
39 (((PyStructSequence *)(op))->ob_item[i])
42 #ifdef __cplusplus
44 #endif
45 #endif /* !Py_STRUCTSEQ_H */