/home/mdboom/Work/builds/cpython/Include/setobject.h
Line | Count | Source |
1 | /* Set object interface */ |
2 | |
3 | #ifndef Py_SETOBJECT_H |
4 | #define Py_SETOBJECT_H |
5 | #ifdef __cplusplus |
6 | extern "C" { |
7 | #endif |
8 | |
9 | PyAPI_DATA(PyTypeObject) PySet_Type; |
10 | PyAPI_DATA(PyTypeObject) PyFrozenSet_Type; |
11 | PyAPI_DATA(PyTypeObject) PySetIter_Type; |
12 | |
13 | PyAPI_FUNC(PyObject *) PySet_New(PyObject *); |
14 | PyAPI_FUNC(PyObject *) PyFrozenSet_New(PyObject *); |
15 | |
16 | PyAPI_FUNC(int) PySet_Add(PyObject *set, PyObject *key); |
17 | PyAPI_FUNC(int) PySet_Clear(PyObject *set); |
18 | PyAPI_FUNC(int) PySet_Contains(PyObject *anyset, PyObject *key); |
19 | PyAPI_FUNC(int) PySet_Discard(PyObject *set, PyObject *key); |
20 | PyAPI_FUNC(PyObject *) PySet_Pop(PyObject *set); |
21 | PyAPI_FUNC(Py_ssize_t) PySet_Size(PyObject *anyset); |
22 | |
23 | #define PyFrozenSet_CheckExact(ob) Py_IS_TYPE((ob), &PyFrozenSet_Type) |
24 | #define PyFrozenSet_Check(ob) \ |
25 | (Py_IS_TYPE16.4k ((ob), &PyFrozenSet_Type) || \ |
26 | PyType_IsSubtype(163 Py_TYPE163 (ob), &PyFrozenSet_Type)) |
27 | |
28 | #define PyAnySet_CheckExact(ob) \ |
29 | (Py_IS_TYPE((ob), &PySet_Type) || Py_IS_TYPE12.1k ((ob), &PyFrozenSet_Type)) |
30 | #define PyAnySet_Check(ob) \ |
31 | (Py_IS_TYPE3.75M ((ob), &PySet_Type) || 3.75M Py_IS_TYPE1.74M ((ob), &PyFrozenSet_Type) || \ |
32 | PyType_IsSubtype(1.71M Py_TYPE1.71M (ob), &PySet_Type) || \ |
33 | PyType_IsSubtype(1.70M Py_TYPE1.70M (ob), &PyFrozenSet_Type)) |
34 | |
35 | #define PySet_CheckExact(op) Py_IS_TYPE(op, &PySet_Type) |
36 | #define PySet_Check(ob) \ |
37 | (Py_IS_TYPE4.37M ((ob), &PySet_Type) || \ |
38 | PyType_IsSubtype(16.3k Py_TYPE16.3k (ob), &PySet_Type)) |
39 | |
40 | #ifndef Py_LIMITED_API |
41 | # define Py_CPYTHON_SETOBJECT_H |
42 | # include "cpython/setobject.h" |
43 | # undef Py_CPYTHON_SETOBJECT_H |
44 | #endif |
45 | |
46 | #ifdef __cplusplus |
47 | } |
48 | #endif |
49 | #endif /* !Py_SETOBJECT_H */ |