$86 GRAYBYTE WORDPRESS FILE MANAGER $55

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.66.139 | ADMIN IP 216.73.216.86
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/python311/include/python3.11/cpython/

HOME
Current File : /opt/alt/python311/include/python3.11/cpython//objimpl.h
#ifndef Py_CPYTHON_OBJIMPL_H
#  error "this header file must not be included directly"
#endif

#define _PyObject_SIZE(typeobj) ( (typeobj)->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

#define _PyObject_VAR_SIZE(typeobj, nitems)     \
    _Py_SIZE_ROUND_UP((typeobj)->tp_basicsize + \
        (nitems)*(typeobj)->tp_itemsize,        \
        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);

Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 May 2026 11.13 PM
root / linksafe
0755
abstract.h
8.036 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
bytearrayobject.h
1.274 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
bytesobject.h
4.689 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
cellobject.h
0.706 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
ceval.h
1.21 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
classobject.h
1.617 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
code.h
11.215 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
compile.h
2.166 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
complexobject.h
1.219 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
context.h
1.913 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
descrobject.h
1.604 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
dictobject.h
3.246 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
fileobject.h
0.799 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
fileutils.h
0.227 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
floatobject.h
0.686 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
frameobject.h
1.082 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
funcobject.h
4.32 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
genobject.h
3.202 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
import.h
1.49 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
initconfig.h
7.634 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
listobject.h
1.728 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
longintrepr.h
3.728 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
longobject.h
4.426 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
methodobject.h
2.496 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
modsupport.h
4.202 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
object.h
17.876 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
objimpl.h
2.928 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
odictobject.h
1.269 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
picklebufobject.h
0.826 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pthread_stubs.h
3.423 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pyctype.h
1.354 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pydebug.h
1.048 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pyerrors.h
4.416 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pyfpe.h
0.434 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pyframe.h
0.568 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pylifecycle.h
2.05 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pymem.h
3.3 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pystate.h
14.015 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pythonrun.h
4.698 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pythread.h
1.393 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
pytime.h
11.873 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
setobject.h
1.95 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
sysmodule.h
0.478 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
traceback.h
0.434 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
tupleobject.h
1.478 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
unicodeobject.h
41.737 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
warnings.h
0.547 KB
3 Mar 2026 12.52 AM
root / linksafe
0644
weakrefobject.h
2.054 KB
3 Mar 2026 12.52 AM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF Static GIF