this repo has no description
1#ifndef __Mzn_EXPRESSIONOBJECT_H
2#define __Mzn_EXPRESSIONOBJECT_H
3
4#include "Object.h"
5
6struct MznExpression : MznObject {
7 Expression* e;
8};
9
10/*inline Expression* MznObject_get_e(MznExpression* self) { return self->e; }
11inline void MznObject_set_e(MznExpression* self, Expression* e0) { self->e = e0; }*/
12
13static PyObject* MznExpression_new(PyTypeObject* type, PyObject* args, PyObject* kwds) {
14 MznExpression* self = reinterpret_cast<MznExpression*>(type->tp_alloc(type, 0));
15 reinterpret_cast<MznObject*>(self)->tid = MOC_EXPR;
16 self->e = NULL;
17 return reinterpret_cast<PyObject*>(self);
18}
19
20static void MznExpression_dealloc(MznExpression* self) {
21 Py_TYPE(self)->tp_free(reinterpret_cast<PyObject*>(self));
22}
23
24static PyTypeObject MznExpression_Type = {
25 PyVarObject_HEAD_INIT(NULL, 0) "minizinc.Expression", /* tp_name */
26 sizeof(MznExpression), /* tp_basicsize */
27 0, /* tp_itemsize */
28 (destructor)MznExpression_dealloc, /* tp_dealloc */
29 0, /* tp_print */
30 0, /* tp_getattr */
31 0, /* tp_setattr */
32 0, /* tp_reserved */
33 0, /* tp_repr */
34 0, /* tp_as_number */
35 0, /* tp_as_sequence */
36 0, /* tp_as_mapping */
37 0, /* tp_hash */
38 0, /* tp_call */
39 0, /* tp_str */
40 0, /* tp_getattro */
41 0, /* tp_setattro */
42 0, /* tp_as_buffer */
43 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
44 "Minizinc Expression Object (derived from MznObject)", /* tp_doc */
45 0, /* tp_traverse */
46 0, /* tp_clear */
47 0, /* tp_richcompare */
48 0, /* tp_weaklistoffset */
49 0, /* tp_iter */
50 0, /* tp_iternext */
51 0, /* tp_methods */
52 0, /* tp_members */
53 0, /* tp_getset */
54 &MznObject_Type, /* tp_base */
55 0, /* tp_dict */
56 0, /* tp_descr_get */
57 0, /* tp_descr_set */
58 0, /* tp_dictoffset */
59 0, /* tp_init */
60 0, /* tp_alloc */
61 MznExpression_new, /* tp_new */
62 0, /* tp_free */
63};
64
65#endif