Commit | Line | Data |
---|---|---|
920dae64 AT |
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 */ |