mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	 fbd849f201
			
		
	
	
		fbd849f201
		
	
	
	
	
		
			
			A cell contains a reference to a single PyObject. It could be implemented as a mutable, one-element sequence, but the separate type has less overhead.
		
			
				
	
	
		
			28 lines
		
	
	
	
		
			636 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
	
		
			636 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Cell object interface */
 | |
| 
 | |
| #ifndef Py_CELLOBJECT_H
 | |
| #define Py_CELLOBJECT_H
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| typedef struct {
 | |
| 	PyObject_VAR_HEAD
 | |
| 	PyObject *ob_ref;
 | |
| } PyCellObject;
 | |
| 
 | |
| extern DL_IMPORT(PyTypeObject) PyCell_Type;
 | |
| 
 | |
| #define PyCell_Check(op) ((op)->ob_type == &PyCell_Type)
 | |
| 
 | |
| extern DL_IMPORT(PyObject *) PyCell_New(PyObject *);
 | |
| extern DL_IMPORT(PyObject *) PyCell_Get(PyObject *);
 | |
| extern DL_IMPORT(int) PyCell_Set(PyObject *, PyObject *);
 | |
| 
 | |
| #define PyCell_GET(op) (((PyCellObject *)(op))->ob_ref)
 | |
| #define PyCell_SET(op, v) (((PyCellObject *)(op))->ob_ref = v)
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| #endif /* !Py_TUPLEOBJECT_H */
 |