D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
python312
/
include
/
python3.12
/
internal
/
Filename :
pycore_genobject.h
back
Copy
#ifndef Py_INTERNAL_GENOBJECT_H #define Py_INTERNAL_GENOBJECT_H #ifdef __cplusplus extern "C" { #endif #ifndef Py_BUILD_CORE # error "this header requires Py_BUILD_CORE define" #endif extern PyObject *_PyGen_yf(PyGenObject *); extern PyObject *_PyCoro_GetAwaitableIter(PyObject *o); extern PyObject *_PyAsyncGenValueWrapperNew(PyThreadState *state, PyObject *); /* runtime lifecycle */ extern void _PyAsyncGen_Fini(PyInterpreterState *); /* other API */ #ifndef WITH_FREELISTS // without freelists # define _PyAsyncGen_MAXFREELIST 0 #endif #ifndef _PyAsyncGen_MAXFREELIST # define _PyAsyncGen_MAXFREELIST 80 #endif struct _Py_async_gen_state { #if _PyAsyncGen_MAXFREELIST > 0 /* Freelists boost performance 6-10%; they also reduce memory fragmentation, as _PyAsyncGenWrappedValue and PyAsyncGenASend are short-living objects that are instantiated for every __anext__() call. */ struct _PyAsyncGenWrappedValue* value_freelist[_PyAsyncGen_MAXFREELIST]; int value_numfree; struct PyAsyncGenASend* asend_freelist[_PyAsyncGen_MAXFREELIST]; int asend_numfree; #endif }; #ifdef __cplusplus } #endif #endif /* !Py_INTERNAL_GENOBJECT_H */