mirror of
https://github.com/python/cpython.git
synced 2025-07-29 22:24:49 +00:00

Add _PyIndex_Check() function to the internal C API: fast inlined verson of PyIndex_Check(). Add Include/internal/pycore_abstract.h header file. Replace PyIndex_Check() with _PyIndex_Check() in C files of Objects and Python subdirectories.
22 lines
479 B
C
22 lines
479 B
C
#ifndef Py_INTERNAL_ABSTRACT_H
|
|
#define Py_INTERNAL_ABSTRACT_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef Py_BUILD_CORE
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
#endif
|
|
|
|
// Fast inlined version of PyIndex_Check()
|
|
static inline int
|
|
_PyIndex_Check(PyObject *obj)
|
|
{
|
|
PyNumberMethods *tp_as_number = Py_TYPE(obj)->tp_as_number;
|
|
return (tp_as_number != NULL && tp_as_number->nb_index != NULL);
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_INTERNAL_ABSTRACT_H */
|