FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cpython/Include/cpython/tupleobject.h at 3.11 · python/cpython · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
python
/
cpython
Public
Uh oh!
There was an error while loading.
Please reload this page
.
Notifications
You must be signed in to change notification settings
Fork
35.3k
Star
75k
Code
Issues
5k+
Pull requests
2.6k
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
cpython
/
Include
/
cpython
/
tupleobject.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
43 lines (35 loc) · 1.48 KB
Breadcrumbs
cpython
/
Include
/
cpython
/
tupleobject.h
Copy path
File metadata and controls
43 lines (35 loc) · 1.48 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#ifndef
Py_CPYTHON_TUPLEOBJECT_H
# error
"this header file must not be included directly"
#endif
typedef
struct
{
PyObject_VAR_HEAD
/* ob_item contains space for 'ob_size' elements.
Items must normally not be NULL, except during construction when
the tuple is not yet visible outside the function that builds it. */
PyObject
*
ob_item
[
1
];
}
PyTupleObject
;
PyAPI_FUNC
(
int
)
_PyTuple_Resize
(
PyObject
*
*
,
Py_ssize_t
);
PyAPI_FUNC
(
void
)
_PyTuple_MaybeUntrack
(
PyObject
*
);
/* Cast argument to PyTupleObject* type. */
#define
_PyTuple_CAST
(
op
) \
(assert(PyTuple_Check(op)), _Py_CAST(PyTupleObject*, (op)))
// Macros and static inline functions, trading safety for speed
static
inline
Py_ssize_t
PyTuple_GET_SIZE
(
PyObject
*
op
) {
PyTupleObject
*
tuple
=
_PyTuple_CAST
(
op
);
return
Py_SIZE
(
tuple
);
}
#if
!defined(
Py_LIMITED_API
)
||
Py_LIMITED_API
+
0
<
0x030b0000
# define
PyTuple_GET_SIZE
(
op
) PyTuple_GET_SIZE(_PyObject_CAST(op))
#endif
#define
PyTuple_GET_ITEM
(
op
,
index
) (_PyTuple_CAST(op)->ob_item[index])
/* Function *only* to be used to fill in brand new tuples */
static
inline
void
PyTuple_SET_ITEM
(
PyObject
*
op
,
Py_ssize_t
index
,
PyObject
*
value
) {
PyTupleObject
*
tuple
=
_PyTuple_CAST
(
op
);
tuple
->
ob_item
[
index
]
=
value
;
}
#if
!defined(
Py_LIMITED_API
)
||
Py_LIMITED_API
+
0
<
0x030b0000
#define
PyTuple_SET_ITEM
(
op
,
index
,
value
) \
PyTuple_SET_ITEM(_PyObject_CAST(op), index, _PyObject_CAST(value))
#endif
PyAPI_FUNC
(
void
)
_PyTuple_DebugMallocStats
(
FILE
*
out
);
Back
|
FazBrowse Home
|
New Git URL