Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/python3.8/classobject.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 /* Former class object interface -- now only bound methods are here */ | |
2 | |
3 /* Revealing some structures (not for general use) */ | |
4 | |
5 #ifndef Py_LIMITED_API | |
6 #ifndef Py_CLASSOBJECT_H | |
7 #define Py_CLASSOBJECT_H | |
8 #ifdef __cplusplus | |
9 extern "C" { | |
10 #endif | |
11 | |
12 typedef struct { | |
13 PyObject_HEAD | |
14 PyObject *im_func; /* The callable object implementing the method */ | |
15 PyObject *im_self; /* The instance it is bound to */ | |
16 PyObject *im_weakreflist; /* List of weak references */ | |
17 vectorcallfunc vectorcall; | |
18 } PyMethodObject; | |
19 | |
20 PyAPI_DATA(PyTypeObject) PyMethod_Type; | |
21 | |
22 #define PyMethod_Check(op) ((op)->ob_type == &PyMethod_Type) | |
23 | |
24 PyAPI_FUNC(PyObject *) PyMethod_New(PyObject *, PyObject *); | |
25 | |
26 PyAPI_FUNC(PyObject *) PyMethod_Function(PyObject *); | |
27 PyAPI_FUNC(PyObject *) PyMethod_Self(PyObject *); | |
28 | |
29 /* Macros for direct access to these values. Type checks are *not* | |
30 done, so use with care. */ | |
31 #define PyMethod_GET_FUNCTION(meth) \ | |
32 (((PyMethodObject *)meth) -> im_func) | |
33 #define PyMethod_GET_SELF(meth) \ | |
34 (((PyMethodObject *)meth) -> im_self) | |
35 | |
36 PyAPI_FUNC(int) PyMethod_ClearFreeList(void); | |
37 | |
38 typedef struct { | |
39 PyObject_HEAD | |
40 PyObject *func; | |
41 } PyInstanceMethodObject; | |
42 | |
43 PyAPI_DATA(PyTypeObject) PyInstanceMethod_Type; | |
44 | |
45 #define PyInstanceMethod_Check(op) ((op)->ob_type == &PyInstanceMethod_Type) | |
46 | |
47 PyAPI_FUNC(PyObject *) PyInstanceMethod_New(PyObject *); | |
48 PyAPI_FUNC(PyObject *) PyInstanceMethod_Function(PyObject *); | |
49 | |
50 /* Macros for direct access to these values. Type checks are *not* | |
51 done, so use with care. */ | |
52 #define PyInstanceMethod_GET_FUNCTION(meth) \ | |
53 (((PyInstanceMethodObject *)meth) -> func) | |
54 | |
55 #ifdef __cplusplus | |
56 } | |
57 #endif | |
58 #endif /* !Py_CLASSOBJECT_H */ | |
59 #endif /* Py_LIMITED_API */ |