GRAYBYTE WORDPRESS FILE MANAGER5436

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.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
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/python313/include/python3.13/cpython/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/python313/include/python3.13/cpython//objimpl.h
#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);


// 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);


/* Visit all live GC-capable objects, similar to gc.get_objects(None). The
 * supplied callback is called on every such object with the void* arg set
 * to the supplied arg. Returning 0 from the callback ends iteration, returning
 * 1 allows iteration to continue. Returning any other value may result in
 * undefined behaviour.
 *
 * If new objects are (de)allocated by the callback it is undefined if they
 * will be visited.

 * Garbage collection is disabled during operation. Explicitly running a
 * collection in the callback may lead to undefined behaviour e.g. visiting the
 * same objects multiple times or not at all.
 */
typedef int (*gcvisitobjects_t)(PyObject*, void*);
PyAPI_FUNC(void) PyUnstable_GC_VisitObjects(gcvisitobjects_t callback, void* arg);

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 13 2025 08:38:47
root / linksafe
0755
abstract.h
3.319 KB
April 08 2025 13:54:08
root / linksafe
0644
bytearrayobject.h
1.136 KB
April 08 2025 13:54:08
root / linksafe
0644
bytesobject.h
1.152 KB
April 08 2025 13:54:08
root / linksafe
0644
cellobject.h
1.051 KB
April 08 2025 13:54:08
root / linksafe
0644
ceval.h
1.089 KB
April 08 2025 13:54:08
root / linksafe
0644
classobject.h
2.192 KB
April 08 2025 13:54:08
root / linksafe
0644
code.h
14.851 KB
April 08 2025 13:54:08
root / linksafe
0644
compile.h
2.071 KB
April 08 2025 13:54:08
root / linksafe
0644
complexobject.h
0.888 KB
April 08 2025 13:54:08
root / linksafe
0644
context.h
1.794 KB
April 08 2025 13:54:08
root / linksafe
0644
critical_section.h
5.457 KB
April 08 2025 13:54:08
root / linksafe
0644
descrobject.h
1.556 KB
April 08 2025 13:54:08
root / linksafe
0644
dictobject.h
3.779 KB
April 08 2025 13:54:08
root / linksafe
0644
fileobject.h
0.637 KB
April 08 2025 13:54:08
root / linksafe
0644
fileutils.h
0.227 KB
April 08 2025 13:54:08
root / linksafe
0644
floatobject.h
0.879 KB
April 08 2025 13:54:08
root / linksafe
0644
frameobject.h
1.171 KB
April 08 2025 13:54:08
root / linksafe
0644
funcobject.h
6.884 KB
April 08 2025 13:54:08
root / linksafe
0644
genobject.h
2.927 KB
April 08 2025 13:54:08
root / linksafe
0644
import.h
0.708 KB
April 08 2025 13:54:08
root / linksafe
0644
initconfig.h
8.005 KB
April 08 2025 13:54:08
root / linksafe
0644
listobject.h
1.759 KB
April 08 2025 13:54:08
root / linksafe
0644
lock.h
1.722 KB
April 08 2025 13:54:08
root / linksafe
0644
longintrepr.h
4.999 KB
April 08 2025 13:54:08
root / linksafe
0644
longobject.h
5.452 KB
April 08 2025 13:54:08
root / linksafe
0644
memoryobject.h
2.171 KB
April 08 2025 13:54:08
root / linksafe
0644
methodobject.h
2.223 KB
April 08 2025 13:54:08
root / linksafe
0644
modsupport.h
1.018 KB
April 08 2025 13:54:08
root / linksafe
0644
monitoring.h
7.523 KB
April 08 2025 13:54:08
root / linksafe
0644
object.h
18.627 KB
April 08 2025 13:54:08
root / linksafe
0644
objimpl.h
3.73 KB
April 08 2025 13:54:08
root / linksafe
0644
odictobject.h
1.28 KB
April 08 2025 13:54:08
root / linksafe
0644
picklebufobject.h
0.828 KB
April 08 2025 13:54:08
root / linksafe
0644
pthread_stubs.h
3.834 KB
April 08 2025 13:54:08
root / linksafe
0644
pyatomic.h
16.119 KB
April 08 2025 13:54:08
root / linksafe
0644
pyatomic_gcc.h
18.683 KB
April 08 2025 13:54:08
root / linksafe
0644
pyatomic_msc.h
28.556 KB
April 08 2025 13:54:08
root / linksafe
0644
pyatomic_std.h
23.766 KB
April 08 2025 13:54:08
root / linksafe
0644
pyctype.h
1.354 KB
April 08 2025 13:54:08
root / linksafe
0644
pydebug.h
1.38 KB
April 08 2025 13:54:08
root / linksafe
0644
pyerrors.h
2.84 KB
April 08 2025 13:54:08
root / linksafe
0644
pyfpe.h
0.434 KB
April 08 2025 13:54:08
root / linksafe
0644
pyframe.h
1.901 KB
April 08 2025 13:54:08
root / linksafe
0644
pyhash.h
1.35 KB
April 08 2025 13:54:08
root / linksafe
0644
pylifecycle.h
2.751 KB
April 08 2025 13:54:08
root / linksafe
0644
pymem.h
2.776 KB
April 08 2025 13:54:08
root / linksafe
0644
pystate.h
9.243 KB
April 08 2025 13:54:08
root / linksafe
0644
pystats.h
5.307 KB
April 08 2025 13:54:08
root / linksafe
0644
pythonrun.h
4.226 KB
April 08 2025 13:54:08
root / linksafe
0644
pythread.h
1.475 KB
April 08 2025 13:54:08
root / linksafe
0644
pytime.h
0.69 KB
April 08 2025 13:54:08
root / linksafe
0644
setobject.h
1.998 KB
April 08 2025 13:54:08
root / linksafe
0644
sysmodule.h
0.757 KB
April 08 2025 13:54:08
root / linksafe
0644
traceback.h
0.275 KB
April 08 2025 13:54:08
root / linksafe
0644
tracemalloc.h
0.804 KB
April 08 2025 13:54:08
root / linksafe
0644
tupleobject.h
1.298 KB
April 08 2025 13:54:08
root / linksafe
0644
unicodeobject.h
24.486 KB
April 08 2025 13:54:08
root / linksafe
0644
warnings.h
0.551 KB
April 08 2025 13:54:08
root / linksafe
0644
weakrefobject.h
2.196 KB
April 08 2025 13:54:08
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF