2002-04-03 19:01:45 -04:00
|
|
|
/* Boolean object interface */
|
|
|
|
|
2002-04-05 23:58:41 -04:00
|
|
|
#ifndef Py_BOOLOBJECT_H
|
|
|
|
#define Py_BOOLOBJECT_H
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
2002-08-12 04:21:58 -03:00
|
|
|
PyAPI_DATA(PyTypeObject) PyBool_Type;
|
2002-04-03 19:01:45 -04:00
|
|
|
|
Merged revisions 56467-56482 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk
................
r56477 | martin.v.loewis | 2007-07-21 09:04:38 +0200 (Sa, 21 Jul 2007) | 11 lines
Merged revisions 56466-56476 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r56476 | martin.v.loewis | 2007-07-21 08:55:02 +0200 (Sa, 21 Jul 2007) | 4 lines
PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
........
................
r56478 | martin.v.loewis | 2007-07-21 09:47:23 +0200 (Sa, 21 Jul 2007) | 2 lines
PEP 3123: Use proper C inheritance for PyObject.
................
r56479 | martin.v.loewis | 2007-07-21 10:06:55 +0200 (Sa, 21 Jul 2007) | 3 lines
Add longintrepr.h to Python.h, so that the compiler can
see that PyFalse is really some kind of PyObject*.
................
r56480 | martin.v.loewis | 2007-07-21 10:47:18 +0200 (Sa, 21 Jul 2007) | 2 lines
Qualify SHIFT, MASK, BASE.
................
r56482 | martin.v.loewis | 2007-07-21 19:10:57 +0200 (Sa, 21 Jul 2007) | 2 lines
Correctly refer to _ob_next.
................
2007-07-21 14:22:18 -03:00
|
|
|
#define PyBool_Check(x) (Py_Type(x) == &PyBool_Type)
|
2002-04-03 19:01:45 -04:00
|
|
|
|
|
|
|
/* Py_False and Py_True are the only two bools in existence.
|
|
|
|
Don't forget to apply Py_INCREF() when returning either!!! */
|
|
|
|
|
|
|
|
/* Don't use these directly */
|
2007-01-13 23:31:43 -04:00
|
|
|
PyAPI_DATA(struct _longobject) _Py_FalseStruct, _Py_TrueStruct;
|
2002-04-03 19:01:45 -04:00
|
|
|
|
|
|
|
/* Use these macros */
|
2007-01-13 23:31:43 -04:00
|
|
|
#define Py_False ((PyObject *) &_Py_FalseStruct)
|
2002-04-03 19:01:45 -04:00
|
|
|
#define Py_True ((PyObject *) &_Py_TrueStruct)
|
|
|
|
|
2003-10-19 18:19:40 -03:00
|
|
|
/* Macros for returning Py_True or Py_False, respectively */
|
2004-07-21 22:46:43 -03:00
|
|
|
#define Py_RETURN_TRUE return Py_INCREF(Py_True), Py_True
|
|
|
|
#define Py_RETURN_FALSE return Py_INCREF(Py_False), Py_False
|
2003-10-19 18:19:40 -03:00
|
|
|
|
2002-04-03 19:01:45 -04:00
|
|
|
/* Function to return a bool from a C long */
|
2002-08-12 04:21:58 -03:00
|
|
|
PyAPI_FUNC(PyObject *) PyBool_FromLong(long);
|
2002-04-05 23:58:41 -04:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif /* !Py_BOOLOBJECT_H */
|