| Index: third_party/cython/src/Cython/Includes/cpython/set.pxd
|
| diff --git a/third_party/cython/src/Cython/Includes/cpython/set.pxd b/third_party/cython/src/Cython/Includes/cpython/set.pxd
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f0cc567322673a8a77df6b77ac8df35db9d8d910
|
| --- /dev/null
|
| +++ b/third_party/cython/src/Cython/Includes/cpython/set.pxd
|
| @@ -0,0 +1,113 @@
|
| +cdef extern from "Python.h":
|
| +
|
| + ############################################################################
|
| + # 7.5.14 Set Objects
|
| + ############################################################################
|
| +
|
| + # This section details the public API for set and frozenset
|
| + # objects. Any functionality not listed below is best accessed
|
| + # using the either the abstract object protocol (including
|
| + # PyObject_CallMethod(), PyObject_RichCompareBool(),
|
| + # PyObject_Hash(), PyObject_Repr(), PyObject_IsTrue(),
|
| + # PyObject_Print(), and PyObject_GetIter()) or the abstract number
|
| + # protocol (including PyNumber_Add(), PyNumber_Subtract(),
|
| + # PyNumber_Or(), PyNumber_Xor(), PyNumber_InPlaceAdd(),
|
| + # PyNumber_InPlaceSubtract(), PyNumber_InPlaceOr(), and
|
| + # PyNumber_InPlaceXor()).
|
| +
|
| + # PySetObject
|
| + # This subtype of PyObject is used to hold the internal data for
|
| + # both set and frozenset objects. It is like a PyDictObject in
|
| + # that it is a fixed size for small sets (much like tuple storage)
|
| + # and will point to a separate, variable sized block of memory for
|
| + # medium and large sized sets (much like list storage). None of
|
| + # the fields of this structure should be considered public and are
|
| + # subject to change. All access should be done through the
|
| + # documented API rather than by manipulating the values in the
|
| + # structure.
|
| +
|
| + # PyTypeObject PySet_Type
|
| + # This is an instance of PyTypeObject representing the Python set type.
|
| +
|
| + # PyTypeObject PyFrozenSet_Type
|
| + # This is an instance of PyTypeObject representing the Python frozenset type.
|
| +
|
| + # The following type check macros work on pointers to any Python
|
| + # object. Likewise, the constructor functions work with any
|
| + # iterable Python object.
|
| +
|
| + bint PyAnySet_Check(object p)
|
| + # Return true if p is a set object, a frozenset object, or an
|
| + # instance of a subtype.
|
| +
|
| + bint PyAnySet_CheckExact(object p)
|
| + # Return true if p is a set object or a frozenset object but not
|
| + # an instance of a subtype.
|
| +
|
| + bint PyFrozenSet_CheckExact(object p)
|
| + # Return true if p is a frozenset object but not an instance of a subtype.
|
| +
|
| + object PySet_New(object iterable)
|
| + # Return value: New reference.
|
| + # Return a new set containing objects returned by the
|
| + # iterable. The iterable may be NULL to create a new empty
|
| + # set. Return the new set on success or NULL on failure. Raise
|
| + # TypeError if iterable is not actually iterable. The constructor
|
| + # is also useful for copying a set (c=set(s)).
|
| +
|
| + object PyFrozenSet_New(object iterable)
|
| + # Return value: New reference.
|
| + # Return a new frozenset containing objects returned by the
|
| + # iterable. The iterable may be NULL to create a new empty
|
| + # frozenset. Return the new set on success or NULL on
|
| + # failure. Raise TypeError if iterable is not actually iterable.
|
| +
|
| +
|
| + # The following functions and macros are available for instances
|
| + # of set or frozenset or instances of their subtypes.
|
| +
|
| + Py_ssize_t PySet_Size(object anyset) except -1
|
| + # Return the length of a set or frozenset object. Equivalent to
|
| + # "len(anyset)". Raises a PyExc_SystemError if anyset is not a
|
| + # set, frozenset, or an instance of a subtype.
|
| +
|
| + Py_ssize_t PySet_GET_SIZE(object anyset)
|
| + # Macro form of PySet_Size() without error checking.
|
| +
|
| + bint PySet_Contains(object anyset, object key) except -1
|
| + # Return 1 if found, 0 if not found, and -1 if an error is
|
| + # encountered. Unlike the Python __contains__() method, this
|
| + # function does not automatically convert unhashable sets into
|
| + # temporary frozensets. Raise a TypeError if the key is
|
| + # unhashable. Raise PyExc_SystemError if anyset is not a set,
|
| + # frozenset, or an instance of a subtype.
|
| +
|
| +
|
| + # The following functions are available for instances of set or
|
| + # its subtypes but not for instances of frozenset or its subtypes.
|
| +
|
| + int PySet_Add(object set, object key) except -1
|
| + # Add key to a set instance. Does not apply to frozenset
|
| + # instances. Return 0 on success or -1 on failure. Raise a
|
| + # TypeError if the key is unhashable. Raise a MemoryError if there
|
| + # is no room to grow. Raise a SystemError if set is an not an
|
| + # instance of set or its subtype.
|
| +
|
| + bint PySet_Discard(object set, object key) except -1
|
| + # Return 1 if found and removed, 0 if not found (no action taken),
|
| + # and -1 if an error is encountered. Does not raise KeyError for
|
| + # missing keys. Raise a TypeError if the key is unhashable. Unlike
|
| + # the Python discard() method, this function does not
|
| + # automatically convert unhashable sets into temporary
|
| + # frozensets. Raise PyExc_SystemError if set is an not an instance
|
| + # of set or its subtype.
|
| +
|
| + object PySet_Pop(object set)
|
| + # Return value: New reference.
|
| + # Return a new reference to an arbitrary object in the set, and
|
| + # removes the object from the set. Return NULL on failure. Raise
|
| + # KeyError if the set is empty. Raise a SystemError if set is an
|
| + # not an instance of set or its subtype.
|
| +
|
| + int PySet_Clear(object set)
|
| + # Empty an existing set of all elements.
|
|
|