python (3.11.7)

(root)/
include/
python3.11/
setobject.h
       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_TYPE(ob, &PyFrozenSet_Type) || \
      26        PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type))
      27  
      28  #define PyAnySet_CheckExact(ob) \
      29      (Py_IS_TYPE(ob, &PySet_Type) || Py_IS_TYPE(ob, &PyFrozenSet_Type))
      30  #define PyAnySet_Check(ob) \
      31      (Py_IS_TYPE(ob, &PySet_Type) || Py_IS_TYPE(ob, &PyFrozenSet_Type) || \
      32        PyType_IsSubtype(Py_TYPE(ob), &PySet_Type) || \
      33        PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type))
      34  
      35  #define PySet_CheckExact(op) Py_IS_TYPE(op, &PySet_Type)
      36  #define PySet_Check(ob) \
      37      (Py_IS_TYPE(ob, &PySet_Type) || \
      38      PyType_IsSubtype(Py_TYPE(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 */