| Index: third_party/cython/src/Cython/Includes/cpython/sequence.pxd
|
| diff --git a/third_party/cython/src/Cython/Includes/cpython/sequence.pxd b/third_party/cython/src/Cython/Includes/cpython/sequence.pxd
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..61ddca2f7b4b97c58ac95fe96b871014393a31c8
|
| --- /dev/null
|
| +++ b/third_party/cython/src/Cython/Includes/cpython/sequence.pxd
|
| @@ -0,0 +1,136 @@
|
| +from cpython.ref cimport PyObject
|
| +
|
| +cdef extern from "Python.h":
|
| +
|
| + ############################################################################
|
| + # 6.3 Sequence Protocol
|
| + ############################################################################
|
| +
|
| + bint PySequence_Check(object o)
|
| + # Return 1 if the object provides sequence protocol, and 0
|
| + # otherwise. This function always succeeds.
|
| +
|
| + Py_ssize_t PySequence_Size(object o) except -1
|
| + # Returns the number of objects in sequence o on success, and -1
|
| + # on failure. For objects that do not provide sequence protocol,
|
| + # this is equivalent to the Python expression "len(o)".
|
| +
|
| + Py_ssize_t PySequence_Length(object o) except -1
|
| + # Alternate name for PySequence_Size().
|
| +
|
| + object PySequence_Concat(object o1, object o2)
|
| + # Return value: New reference.
|
| + # Return the concatenation of o1 and o2 on success, and NULL on
|
| + # failure. This is the equivalent of the Python expression "o1 +
|
| + # o2".
|
| +
|
| + object PySequence_Repeat(object o, Py_ssize_t count)
|
| + # Return value: New reference.
|
| + # Return the result of repeating sequence object o count times, or
|
| + # NULL on failure. This is the equivalent of the Python expression
|
| + # "o * count".
|
| +
|
| + object PySequence_InPlaceConcat(object o1, object o2)
|
| + # Return value: New reference.
|
| + # Return the concatenation of o1 and o2 on success, and NULL on
|
| + # failure. The operation is done in-place when o1 supports
|
| + # it. This is the equivalent of the Python expression "o1 += o2".
|
| +
|
| + object PySequence_InPlaceRepeat(object o, Py_ssize_t count)
|
| + # Return value: New reference.
|
| + # Return the result of repeating sequence object o count times, or
|
| + # NULL on failure. The operation is done in-place when o supports
|
| + # it. This is the equivalent of the Python expression "o *=
|
| + # count".
|
| +
|
| + object PySequence_GetItem(object o, Py_ssize_t i)
|
| + # Return value: New reference.
|
| + # Return the ith element of o, or NULL on failure. This is the
|
| + # equivalent of the Python expression "o[i]".
|
| +
|
| + object PySequence_GetSlice(object o, Py_ssize_t i1, Py_ssize_t i2)
|
| + # Return value: New reference.
|
| + # Return the slice of sequence object o between i1 and i2, or NULL
|
| + # on failure. This is the equivalent of the Python expression
|
| + # "o[i1:i2]".
|
| +
|
| + int PySequence_SetItem(object o, Py_ssize_t i, object v) except -1
|
| + # Assign object v to the ith element of o. Returns -1 on
|
| + # failure. This is the equivalent of the Python statement "o[i] =
|
| + # v". This function does not steal a reference to v.
|
| +
|
| + int PySequence_DelItem(object o, Py_ssize_t i) except -1
|
| + # Delete the ith element of object o. Returns -1 on failure. This
|
| + # is the equivalent of the Python statement "del o[i]".
|
| +
|
| + int PySequence_SetSlice(object o, Py_ssize_t i1, Py_ssize_t i2, object v) except -1
|
| + # Assign the sequence object v to the slice in sequence object o
|
| + # from i1 to i2. This is the equivalent of the Python statement
|
| + # "o[i1:i2] = v".
|
| +
|
| + int PySequence_DelSlice(object o, Py_ssize_t i1, Py_ssize_t i2) except -1
|
| + # Delete the slice in sequence object o from i1 to i2. Returns -1
|
| + # on failure. This is the equivalent of the Python statement "del
|
| + # o[i1:i2]".
|
| +
|
| + int PySequence_Count(object o, object value) except -1
|
| + # Return the number of occurrences of value in o, that is, return
|
| + # the number of keys for which o[key] == value. On failure, return
|
| + # -1. This is equivalent to the Python expression
|
| + # "o.count(value)".
|
| +
|
| + int PySequence_Contains(object o, object value) except -1
|
| + # Determine if o contains value. If an item in o is equal to
|
| + # value, return 1, otherwise return 0. On error, return -1. This
|
| + # is equivalent to the Python expression "value in o".
|
| +
|
| + Py_ssize_t PySequence_Index(object o, object value) except -1
|
| + # Return the first index i for which o[i] == value. On error,
|
| + # return -1. This is equivalent to the Python expression
|
| + # "o.index(value)".
|
| +
|
| + object PySequence_List(object o)
|
| + # Return value: New reference.
|
| + # Return a list object with the same contents as the arbitrary
|
| + # sequence o. The returned list is guaranteed to be new.
|
| +
|
| + object PySequence_Tuple(object o)
|
| + # Return value: New reference.
|
| + # Return a tuple object with the same contents as the arbitrary
|
| + # sequence o or NULL on failure. If o is a tuple, a new reference
|
| + # will be returned, otherwise a tuple will be constructed with the
|
| + # appropriate contents. This is equivalent to the Python
|
| + # expression "tuple(o)".
|
| +
|
| + object PySequence_Fast(object o, char *m)
|
| + # Return value: New reference.
|
| + # Returns the sequence o as a tuple, unless it is already a tuple
|
| + # or list, in which case o is returned. Use
|
| + # PySequence_Fast_GET_ITEM() to access the members of the
|
| + # result. Returns NULL on failure. If the object is not a
|
| + # sequence, raises TypeError with m as the message text.
|
| +
|
| + PyObject* PySequence_Fast_GET_ITEM(object o, Py_ssize_t i)
|
| + # Return value: Borrowed reference.
|
| + # Return the ith element of o, assuming that o was returned by
|
| + # PySequence_Fast(), o is not NULL, and that i is within bounds.
|
| +
|
| + PyObject** PySequence_Fast_ITEMS(object o)
|
| + # Return the underlying array of PyObject pointers. Assumes that o
|
| + # was returned by PySequence_Fast() and o is not NULL.
|
| +
|
| + object PySequence_ITEM(object o, Py_ssize_t i)
|
| + # Return value: New reference.
|
| + # Return the ith element of o or NULL on failure. Macro form of
|
| + # PySequence_GetItem() but without checking that
|
| + # PySequence_Check(o) is true and without adjustment for negative
|
| + # indices.
|
| +
|
| + Py_ssize_t PySequence_Fast_GET_SIZE(object o)
|
| + # Returns the length of o, assuming that o was returned by
|
| + # PySequence_Fast() and that o is not NULL. The size can also be
|
| + # gotten by calling PySequence_Size() on o, but
|
| + # PySequence_Fast_GET_SIZE() is faster because it can assume o is
|
| + # a list or tuple.
|
| +
|
| +
|
|
|