Mercurial > cpython-lru_cache-weakref
view Include/weakrefobject.h @ 22360:c8a6ea00a9e1 legacy-trunk
restructure a bit to not rely on test case execution ordering
add test case for bug #482460
| author | Skip Montanaro <skip@pobox.com> |
|---|---|
| date | Sun, 17 Mar 2002 23:03:42 +0000 |
| parents | f48782237f85 |
| children | c1eb668525e1 |
line wrap: on
line source
/* Weak references objects for Python. */ #ifndef Py_WEAKREFOBJECT_H #define Py_WEAKREFOBJECT_H #ifdef __cplusplus extern "C" { #endif typedef struct _PyWeakReference PyWeakReference; struct _PyWeakReference { PyObject_HEAD PyObject *wr_object; PyObject *wr_callback; long hash; PyWeakReference *wr_prev; PyWeakReference *wr_next; }; extern DL_IMPORT(PyTypeObject) _PyWeakref_RefType; extern DL_IMPORT(PyTypeObject) _PyWeakref_ProxyType; extern DL_IMPORT(PyTypeObject) _PyWeakref_CallableProxyType; #define PyWeakref_CheckRef(op) \ ((op)->ob_type == &_PyWeakref_RefType) #define PyWeakref_CheckProxy(op) \ (((op)->ob_type == &_PyWeakref_ProxyType) || \ ((op)->ob_type == &_PyWeakref_CallableProxyType)) #define PyWeakref_Check(op) \ (PyWeakref_CheckRef(op) || PyWeakref_CheckProxy(op)) extern DL_IMPORT(PyObject *) PyWeakref_NewRef(PyObject *ob, PyObject *callback); extern DL_IMPORT(PyObject *) PyWeakref_NewProxy(PyObject *ob, PyObject *callback); extern DL_IMPORT(PyObject *) PyWeakref_GetObject(PyObject *ref); extern DL_IMPORT(long) _PyWeakref_GetWeakrefCount(PyWeakReference *head); #define PyWeakref_GET_OBJECT(ref) (((PyWeakReference *)(ref))->wr_object) #ifdef __cplusplus } #endif #endif /* !Py_WEAKREFOBJECT_H */
