~ubuntu-branches/ubuntu/trusty/cython/trusty-proposed

« back to all changes in this revision

Viewing changes to Cython/Includes/cpython/set.pxd

  • Committer: Bazaar Package Importer
  • Author(s): Yaroslav Halchenko
  • Date: 2011-02-13 09:41:12 UTC
  • mfrom: (1.4.1 upstream) (9.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20110213094112-0vg8c1a2stwuufnn
Tags: 0.14.1-1
* Reincarnating uploads to unstable
* Fresh upstream release
* debian/control: added python-dev into Suggests (Closes: #545809)
* Standards-Version bumped to 3.9.1 (no change needed)
* Use help2man to generate a reasonable manpage (Closes: #607098)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
cdef extern from "Python.h":
 
2
 
 
3
    ############################################################################
 
4
    # 7.5.14 Set Objects
 
5
    ############################################################################
 
6
 
 
7
    # This section details the public API for set and frozenset
 
8
    # objects. Any functionality not listed below is best accessed
 
9
    # using the either the abstract object protocol (including
 
10
    # PyObject_CallMethod(), PyObject_RichCompareBool(),
 
11
    # PyObject_Hash(), PyObject_Repr(), PyObject_IsTrue(),
 
12
    # PyObject_Print(), and PyObject_GetIter()) or the abstract number
 
13
    # protocol (including PyNumber_Add(), PyNumber_Subtract(),
 
14
    # PyNumber_Or(), PyNumber_Xor(), PyNumber_InPlaceAdd(),
 
15
    # PyNumber_InPlaceSubtract(), PyNumber_InPlaceOr(), and
 
16
    # PyNumber_InPlaceXor()).
 
17
 
 
18
    # PySetObject
 
19
    # This subtype of PyObject is used to hold the internal data for
 
20
    # both set and frozenset objects. It is like a PyDictObject in
 
21
    # that it is a fixed size for small sets (much like tuple storage)
 
22
    # and will point to a separate, variable sized block of memory for
 
23
    # medium and large sized sets (much like list storage). None of
 
24
    # the fields of this structure should be considered public and are
 
25
    # subject to change. All access should be done through the
 
26
    # documented API rather than by manipulating the values in the
 
27
    # structure.
 
28
 
 
29
    # PyTypeObject PySet_Type
 
30
    # This is an instance of PyTypeObject representing the Python set type.
 
31
 
 
32
    # PyTypeObject PyFrozenSet_Type
 
33
    # This is an instance of PyTypeObject representing the Python frozenset type.
 
34
 
 
35
    # The following type check macros work on pointers to any Python
 
36
    # object. Likewise, the constructor functions work with any
 
37
    # iterable Python object.
 
38
 
 
39
    bint PyAnySet_Check(object p)
 
40
    # Return true if p is a set object, a frozenset object, or an
 
41
    # instance of a subtype.
 
42
 
 
43
    bint PyAnySet_CheckExact(object p)
 
44
    # Return true if p is a set object or a frozenset object but not
 
45
    # an instance of a subtype.
 
46
 
 
47
    bint PyFrozenSet_CheckExact(object p)
 
48
    # Return true if p is a frozenset object but not an instance of a subtype.
 
49
 
 
50
    object PySet_New(object iterable)
 
51
    # Return value: New reference.
 
52
    # Return a new set containing objects returned by the
 
53
    # iterable. The iterable may be NULL to create a new empty
 
54
    # set. Return the new set on success or NULL on failure. Raise
 
55
    # TypeError if iterable is not actually iterable. The constructor
 
56
    # is also useful for copying a set (c=set(s)).
 
57
 
 
58
    object PyFrozenSet_New(object iterable)
 
59
    # Return value: New reference.
 
60
    # Return a new frozenset containing objects returned by the
 
61
    # iterable. The iterable may be NULL to create a new empty
 
62
    # frozenset. Return the new set on success or NULL on
 
63
    # failure. Raise TypeError if iterable is not actually iterable.
 
64
 
 
65
 
 
66
    # The following functions and macros are available for instances
 
67
    # of set or frozenset or instances of their subtypes.
 
68
 
 
69
    int PySet_Size(object anyset) except -1
 
70
    # Return the length of a set or frozenset object. Equivalent to
 
71
    # "len(anyset)". Raises a PyExc_SystemError if anyset is not a
 
72
    # set, frozenset, or an instance of a subtype.
 
73
 
 
74
    int PySet_GET_SIZE(object anyset)
 
75
    # Macro form of PySet_Size() without error checking.
 
76
 
 
77
    bint PySet_Contains(object anyset, object key) except -1
 
78
    # Return 1 if found, 0 if not found, and -1 if an error is
 
79
    # encountered. Unlike the Python __contains__() method, this
 
80
    # function does not automatically convert unhashable sets into
 
81
    # temporary frozensets. Raise a TypeError if the key is
 
82
    # unhashable. Raise PyExc_SystemError if anyset is not a set,
 
83
    # frozenset, or an instance of a subtype.
 
84
 
 
85
 
 
86
    # The following functions are available for instances of set or
 
87
    # its subtypes but not for instances of frozenset or its subtypes.
 
88
 
 
89
    int PySet_Add(object set, object key) except -1
 
90
    # Add key to a set instance. Does not apply to frozenset
 
91
    # instances. Return 0 on success or -1 on failure. Raise a
 
92
    # TypeError if the key is unhashable. Raise a MemoryError if there
 
93
    # is no room to grow. Raise a SystemError if set is an not an
 
94
    # instance of set or its subtype.
 
95
 
 
96
    bint PySet_Discard(object set, object key) except -1
 
97
    # Return 1 if found and removed, 0 if not found (no action taken),
 
98
    # and -1 if an error is encountered. Does not raise KeyError for
 
99
    # missing keys. Raise a TypeError if the key is unhashable. Unlike
 
100
    # the Python discard() method, this function does not
 
101
    # automatically convert unhashable sets into temporary
 
102
    # frozensets. Raise PyExc_SystemError if set is an not an instance
 
103
    # of set or its subtype.
 
104
 
 
105
    object PySet_Pop(object set)
 
106
    # Return value: New reference.
 
107
    # Return a new reference to an arbitrary object in the set, and
 
108
    # removes the object from the set. Return NULL on failure. Raise
 
109
    # KeyError if the set is empty. Raise a SystemError if set is an
 
110
    # not an instance of set or its subtype.
 
111
 
 
112
    int PySet_Clear(object set)
 
113
    # Empty an existing set of all elements.