aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/cpython/tuple.pxd
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
committeralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
commitbf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch)
tree1d1df72c0541a59a81439842f46d95396d3e7189 /contrib/tools/cython/Cython/Includes/cpython/tuple.pxd
parent8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff)
downloadydb-bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0.tar.gz
add ymake export to ydb
Diffstat (limited to 'contrib/tools/cython/Cython/Includes/cpython/tuple.pxd')
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/tuple.pxd71
1 files changed, 71 insertions, 0 deletions
diff --git a/contrib/tools/cython/Cython/Includes/cpython/tuple.pxd b/contrib/tools/cython/Cython/Includes/cpython/tuple.pxd
new file mode 100644
index 0000000000..09c46e0b4b
--- /dev/null
+++ b/contrib/tools/cython/Cython/Includes/cpython/tuple.pxd
@@ -0,0 +1,71 @@
+from .object cimport PyObject
+
+cdef extern from "Python.h":
+
+ ############################################################################
+ # Tuples
+ ############################################################################
+
+ bint PyTuple_Check(object p)
+ # Return true if p is a tuple object or an instance of a subtype
+ # of the tuple type.
+
+ bint PyTuple_CheckExact(object p)
+ # Return true if p is a tuple object, but not an instance of a subtype of the tuple type.
+
+ tuple PyTuple_New(Py_ssize_t len)
+ # Return value: New reference.
+ # Return a new tuple object of size len, or NULL on failure.
+
+ tuple PyTuple_Pack(Py_ssize_t n, ...)
+ # Return value: New reference.
+ # Return a new tuple object of size n, or NULL on failure. The
+ # tuple values are initialized to the subsequent n C arguments
+ # pointing to Python objects. "PyTuple_Pack(2, a, b)" is
+ # equivalent to "Py_BuildValue("(OO)", a, b)".
+
+ Py_ssize_t PyTuple_Size(object p) except -1
+ # Take a pointer to a tuple object, and return the size of that tuple.
+
+ Py_ssize_t PyTuple_GET_SIZE(object p)
+ # Return the size of the tuple p, which must be non-NULL and point
+ # to a tuple; no error checking is performed.
+
+ PyObject* PyTuple_GetItem(object p, Py_ssize_t pos) except NULL
+ # Return value: Borrowed reference.
+ # Return the object at position pos in the tuple pointed to by
+ # p. If pos is out of bounds, return NULL and sets an IndexError
+ # exception.
+
+ PyObject* PyTuple_GET_ITEM(object p, Py_ssize_t pos)
+ # Return value: Borrowed reference.
+ # Like PyTuple_GetItem(), but does no checking of its arguments.
+
+ tuple PyTuple_GetSlice(object p, Py_ssize_t low, Py_ssize_t high)
+ # Return value: New reference.
+ # Take a slice of the tuple pointed to by p from low to high and return it as a new tuple.
+
+ int PyTuple_SetItem(object p, Py_ssize_t pos, object o) except -1
+ # Insert a reference to object o at position pos of the tuple
+ # pointed to by p. Return 0 on success. Note: This function
+ # ``steals'' a reference to o.
+
+ void PyTuple_SET_ITEM(object p, Py_ssize_t pos, object o)
+ # Like PyTuple_SetItem(), but does no error checking, and should
+ # only be used to fill in brand new tuples. Note: This function
+ # ``steals'' a reference to o.
+
+ int _PyTuple_Resize(PyObject **p, Py_ssize_t newsize) except -1
+ # Can be used to resize a tuple. newsize will be the new length of
+ # the tuple. Because tuples are supposed to be immutable, this
+ # should only be used if there is only one reference to the
+ # object. Do not use this if the tuple may already be known to
+ # some other part of the code. The tuple will always grow or
+ # shrink at the end. Think of this as destroying the old tuple and
+ # creating a new one, only more efficiently. Returns 0 on
+ # success. Client code should never assume that the resulting
+ # value of *p will be the same as before calling this function. If
+ # the object referenced by *p is replaced, the original *p is
+ # destroyed. On failure, returns -1 and sets *p to NULL, and
+ # raises MemoryError or SystemError.
+