Current Path: > > opt > alt > python312 > include > > python3.12 > cpython > >
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
abstract.h | File | 7870 bytes | June 03 2025 15:41:47. | |
bytearrayobject.h | File | 1163 bytes | June 03 2025 15:41:47. | |
bytesobject.h | File | 4660 bytes | June 03 2025 15:41:47. | |
cellobject.h | File | 1076 bytes | June 03 2025 15:41:47. | |
ceval.h | File | 1650 bytes | June 03 2025 15:41:47. | |
classobject.h | File | 2245 bytes | June 03 2025 15:41:47. | |
code.h | File | 16188 bytes | June 03 2025 15:41:47. | |
compile.h | File | 2660 bytes | June 03 2025 15:41:47. | |
complexobject.h | File | 1248 bytes | June 03 2025 15:41:47. | |
context.h | File | 1965 bytes | June 03 2025 15:41:47. | |
descrobject.h | File | 1642 bytes | June 03 2025 15:41:47. | |
dictobject.h | File | 4686 bytes | June 03 2025 15:41:47. | |
fileobject.h | File | 818 bytes | June 03 2025 15:41:47. | |
fileutils.h | File | 232 bytes | June 03 2025 15:41:47. | |
floatobject.h | File | 900 bytes | June 03 2025 15:41:47. | |
frameobject.h | File | 1108 bytes | June 03 2025 15:41:47. | |
funcobject.h | File | 7188 bytes | June 03 2025 15:41:47. | |
genobject.h | File | 3316 bytes | June 03 2025 15:41:47. | |
import.h | File | 1623 bytes | June 03 2025 15:41:47. | |
initconfig.h | File | 7820 bytes | June 03 2025 15:41:47. | |
interpreteridobject.h | File | 387 bytes | June 03 2025 15:41:47. | |
listobject.h | File | 1633 bytes | June 03 2025 15:41:47. | |
longintrepr.h | File | 4889 bytes | June 03 2025 15:41:47. | |
longobject.h | File | 4679 bytes | June 03 2025 15:41:47. | |
memoryobject.h | File | 2272 bytes | June 03 2025 15:41:47. | |
methodobject.h | File | 2276 bytes | June 03 2025 15:41:47. | |
modsupport.h | File | 4336 bytes | June 03 2025 15:41:47. | |
object.h | File | 21212 bytes | June 03 2025 15:41:47. | |
objimpl.h | File | 3316 bytes | June 03 2025 15:41:47. | |
odictobject.h | File | 1311 bytes | June 03 2025 15:41:47. | |
picklebufobject.h | File | 848 bytes | June 03 2025 15:41:47. | |
pthread_stubs.h | File | 3505 bytes | June 03 2025 15:41:47. | |
pyctype.h | File | 1387 bytes | June 03 2025 15:41:47. | |
pydebug.h | File | 1413 bytes | June 03 2025 15:41:47. | |
pyerrors.h | File | 4276 bytes | June 03 2025 15:41:47. | |
pyfpe.h | File | 444 bytes | June 03 2025 15:41:47. | |
pyframe.h | File | 1479 bytes | June 03 2025 15:41:47. | |
pylifecycle.h | File | 3423 bytes | June 03 2025 15:41:47. | |
pymem.h | File | 3379 bytes | June 03 2025 15:41:47. | |
pystate.h | File | 17228 bytes | June 03 2025 15:41:47. | |
pythonrun.h | File | 4903 bytes | June 03 2025 15:41:47. | |
pythread.h | File | 1418 bytes | June 03 2025 15:41:47. | |
pytime.h | File | 12402 bytes | June 03 2025 15:41:47. | |
setobject.h | File | 2146 bytes | June 03 2025 15:41:47. | |
sysmodule.h | File | 489 bytes | June 03 2025 15:41:47. | |
traceback.h | File | 444 bytes | June 03 2025 15:41:47. | |
tupleobject.h | File | 1377 bytes | June 03 2025 15:41:47. | |
unicodeobject.h | File | 35296 bytes | June 03 2025 15:41:47. | |
warnings.h | File | 564 bytes | June 03 2025 15:41:47. | |
weakrefobject.h | File | 2032 bytes | June 03 2025 15:41:47. |
#ifndef Py_CPYTHON_OBJIMPL_H # error "this header file must not be included directly" #endif static inline size_t _PyObject_SIZE(PyTypeObject *type) { return _Py_STATIC_CAST(size_t, type->tp_basicsize); } /* _PyObject_VAR_SIZE returns the number of bytes (as size_t) allocated for a vrbl-size object with nitems items, exclusive of gc overhead (if any). The value is rounded up to the closest multiple of sizeof(void *), in order to ensure that pointer fields at the end of the object are correctly aligned for the platform (this is of special importance for subclasses of, e.g., str or int, so that pointers can be stored after the embedded data). Note that there's no memory wastage in doing this, as malloc has to return (at worst) pointer-aligned memory anyway. */ #if ((SIZEOF_VOID_P - 1) & SIZEOF_VOID_P) != 0 # error "_PyObject_VAR_SIZE requires SIZEOF_VOID_P be a power of 2" #endif static inline size_t _PyObject_VAR_SIZE(PyTypeObject *type, Py_ssize_t nitems) { size_t size = _Py_STATIC_CAST(size_t, type->tp_basicsize); size += _Py_STATIC_CAST(size_t, nitems) * _Py_STATIC_CAST(size_t, type->tp_itemsize); return _Py_SIZE_ROUND_UP(size, SIZEOF_VOID_P); } /* This example code implements an object constructor with a custom allocator, where PyObject_New is inlined, and shows the important distinction between two steps (at least): 1) the actual allocation of the object storage; 2) the initialization of the Python specific fields in this storage with PyObject_{Init, InitVar}. PyObject * YourObject_New(...) { PyObject *op; op = (PyObject *) Your_Allocator(_PyObject_SIZE(YourTypeStruct)); if (op == NULL) { return PyErr_NoMemory(); } PyObject_Init(op, &YourTypeStruct); op->ob_field = value; ... return op; } Note that in C++, the use of the new operator usually implies that the 1st step is performed automatically for you, so in a C++ class constructor you would start directly with PyObject_Init/InitVar. */ typedef struct { /* user context passed as the first argument to the 2 functions */ void *ctx; /* allocate an arena of size bytes */ void* (*alloc) (void *ctx, size_t size); /* free an arena */ void (*free) (void *ctx, void *ptr, size_t size); } PyObjectArenaAllocator; /* Get the arena allocator. */ PyAPI_FUNC(void) PyObject_GetArenaAllocator(PyObjectArenaAllocator *allocator); /* Set the arena allocator. */ PyAPI_FUNC(void) PyObject_SetArenaAllocator(PyObjectArenaAllocator *allocator); /* Test if an object implements the garbage collector protocol */ PyAPI_FUNC(int) PyObject_IS_GC(PyObject *obj); /* Code built with Py_BUILD_CORE must include pycore_gc.h instead which defines a different _PyGC_FINALIZED() macro. */ #ifndef Py_BUILD_CORE // Kept for backward compatibility with Python 3.8 # define _PyGC_FINALIZED(o) PyObject_GC_IsFinalized(o) #endif // Test if a type supports weak references PyAPI_FUNC(int) PyType_SUPPORTS_WEAKREFS(PyTypeObject *type); PyAPI_FUNC(PyObject **) PyObject_GET_WEAKREFS_LISTPTR(PyObject *op); PyAPI_FUNC(PyObject *) PyUnstable_Object_GC_NewWithExtraData(PyTypeObject *, size_t);
SILENT KILLER Tool