Where Online Learning is simpler!
The C and C++ Include Header Files
cat -n /usr/include/python3.14/internal/pycore_object_state.h
1 #ifndef Py_INTERNAL_OBJECT_STATE_H 2 #define Py_INTERNAL_OBJECT_STATE_H 3 #ifdef __cplusplus 4 extern "C" { 5 #endif 6 7 #ifndef Py_BUILD_CORE 8 # error "this header requires Py_BUILD_CORE define" 9 #endif 10 11 #include "pycore_freelist_state.h" // _Py_freelists 12 #include "pycore_hashtable.h" // _Py_hashtable_t 13 14 15 /* Reference tracer state */ 16 struct _reftracer_runtime_state { 17 PyRefTracer tracer_func; 18 void* tracer_data; 19 }; 20 21 22 struct _py_object_runtime_state { 23 #ifdef Py_REF_DEBUG 24 Py_ssize_t interpreter_leaks; 25 #endif 26 int _not_used; 27 }; 28 29 struct _py_object_state { 30 #if !defined(Py_GIL_DISABLED) 31 struct _Py_freelists freelists; 32 #endif 33 #ifdef Py_REF_DEBUG 34 Py_ssize_t reftotal; 35 #endif 36 #ifdef Py_TRACE_REFS 37 // Hash table storing all objects. The key is the object pointer 38 // (PyObject*) and the value is always the number 1 (as uintptr_t). 39 // See _PyRefchain_IsTraced() and _PyRefchain_Trace() functions. 40 _Py_hashtable_t *refchain; 41 #endif 42 int _not_used; 43 }; 44 45 46 #ifdef __cplusplus 47 } 48 #endif 49 #endif /* !Py_INTERNAL_OBJECT_STATE_H */