PHP 8.2.30
Preview: pycore_tuple.h Size: 2.15 KB
//opt/alt/python312/include/python3.12/internal/pycore_tuple.h

#ifndef Py_INTERNAL_TUPLE_H
#define Py_INTERNAL_TUPLE_H
#ifdef __cplusplus
extern "C" {
#endif

#ifndef Py_BUILD_CORE
#  error "this header requires Py_BUILD_CORE define"
#endif

#include "tupleobject.h"   /* _PyTuple_CAST() */


/* runtime lifecycle */

extern PyStatus _PyTuple_InitGlobalObjects(PyInterpreterState *);
extern void _PyTuple_Fini(PyInterpreterState *);


/* other API */

// PyTuple_MAXSAVESIZE - largest tuple to save on free list
// PyTuple_MAXFREELIST - maximum number of tuples of each size to save

#if defined(PyTuple_MAXSAVESIZE) && PyTuple_MAXSAVESIZE <= 0
   // A build indicated that tuple freelists should not be used.
#  define PyTuple_NFREELISTS 0
#  undef PyTuple_MAXSAVESIZE
#  undef PyTuple_MAXFREELIST

#elif !defined(WITH_FREELISTS)
#  define PyTuple_NFREELISTS 0
#  undef PyTuple_MAXSAVESIZE
#  undef PyTuple_MAXFREELIST

#else
   // We are using a freelist for tuples.
#  ifndef PyTuple_MAXSAVESIZE
#    define PyTuple_MAXSAVESIZE 20
#  endif
#  define PyTuple_NFREELISTS PyTuple_MAXSAVESIZE
#  ifndef PyTuple_MAXFREELIST
#    define PyTuple_MAXFREELIST 2000
#  endif
#endif

struct _Py_tuple_state {
#if PyTuple_NFREELISTS > 0
    /* There is one freelist for each size from 1 to PyTuple_MAXSAVESIZE.
       The empty tuple is handled separately.

       Each tuple stored in the array is the head of the linked list
       (and the next available tuple) for that size.  The actual tuple
       object is used as the linked list node, with its first item
       (ob_item[0]) pointing to the next node (i.e. the previous head).
       Each linked list is initially NULL. */
    PyTupleObject *free_list[PyTuple_NFREELISTS];
    int numfree[PyTuple_NFREELISTS];
#else
    char _unused;  // Empty structs are not allowed.
#endif
};

#define _PyTuple_ITEMS(op) _Py_RVALUE(_PyTuple_CAST(op)->ob_item)

extern PyObject *_PyTuple_FromArray(PyObject *const *, Py_ssize_t);
extern PyObject *_PyTuple_FromArraySteal(PyObject *const *, Py_ssize_t);


typedef struct {
    PyObject_HEAD
    Py_ssize_t it_index;
    PyTupleObject *it_seq; /* Set to NULL when iterator is exhausted */
} _PyTupleIterObject;

#ifdef __cplusplus
}
#endif
#endif   /* !Py_INTERNAL_TUPLE_H */

Directory Contents

Dirs: 0 × Files: 90

Name Size Perms Modified Actions
611 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.96 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
30.55 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
6.59 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.12 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
16.58 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.38 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
5.92 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
8.48 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.31 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.30 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.83 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
5.14 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.68 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
15.46 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.37 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.84 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.27 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
499 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
6.23 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.07 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.58 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
562 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
842 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.17 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
7.72 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.66 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.54 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.52 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
480 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
9.04 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
611 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
7.48 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.16 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
490 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.53 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.96 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
112.66 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
24.84 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.65 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.19 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
6.21 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
5.57 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.93 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
8.87 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.36 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.93 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
7.62 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
383 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.16 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
392 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
14.57 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1016 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
26.64 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.04 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
19.61 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.62 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
1.33 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
606 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.67 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.04 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
709 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.29 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
8.40 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.97 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.59 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.87 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.03 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
346 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
8.23 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
5.77 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
44.68 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.55 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
414 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
937 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
923 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
6.87 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
999 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
388 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.98 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.42 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
3.00 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.15 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
4.62 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
763 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
898 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
2.59 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
122.57 KB lrw-r--r-- 2025-10-09 11:07:00
Edit Download
682 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download
740 B lrw-r--r-- 2025-10-09 11:07:00
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).