Spaces:
Build error
Build error
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_Check(object p) | |
# Return true if p is a frozenset object or 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. | |
bint PySet_Check(object p) | |
# Return true if p is a set object or 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. | |