summaryrefslogtreecommitdiffstats
path: root/Doc/api/concrete.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/api/concrete.tex')
-rw-r--r--Doc/api/concrete.tex40
1 files changed, 37 insertions, 3 deletions
diff --git a/Doc/api/concrete.tex b/Doc/api/concrete.tex
index 630a726..cdf6856 100644
--- a/Doc/api/concrete.tex
+++ b/Doc/api/concrete.tex
@@ -442,7 +442,9 @@ booleans. The following macros are available, however.
\begin{cfuncdesc}{double}{PyFloat_AsDouble}{PyObject *pyfloat}
Return a C \ctype{double} representation of the contents of
- \var{pyfloat}.
+ \var{pyfloat}. If \var{pyfloat} is not a Python floating point
+ object but has a \method{__float__} method, this method will first
+ be called to convert \var{pyfloat} into a float.
\end{cfuncdesc}
\begin{cfuncdesc}{double}{PyFloat_AS_DOUBLE}{PyObject *pyfloat}
@@ -557,8 +559,11 @@ typedef struct {
\end{cfuncdesc}
\begin{cfuncdesc}{Py_complex}{PyComplex_AsCComplex}{PyObject *op}
- Return the \ctype{Py_complex} value of the complex number
- \var{op}.
+ Return the \ctype{Py_complex} value of the complex number \var{op}.
+ \versionchanged[If \var{op} is not a Python complex number object
+ but has a \method{__complex__} method, this method
+ will first be called to convert \var{op} to a Python
+ complex number object]{2.6}
\end{cfuncdesc}
@@ -2156,6 +2161,35 @@ def PyDict_MergeFromSeq2(a, seq2, override):
\section{Other Objects \label{otherObjects}}
+\subsection{Class Objects \label{classObjects}}
+
+\obindex{class}
+Note that the class objects described here represent old-style classes,
+which will go away in Python 3. When creating new types for extension
+modules, you will want to work with type objects (section
+\ref{typeObjects}).
+
+\begin{ctypedesc}{PyClassObject}
+ The C structure of the objects used to describe built-in classes.
+\end{ctypedesc}
+
+\begin{cvardesc}{PyObject*}{PyClass_Type}
+ This is the type object for class objects; it is the same object as
+ \code{types.ClassType} in the Python layer.
+ \withsubitem{(in module types)}{\ttindex{ClassType}}
+\end{cvardesc}
+
+\begin{cfuncdesc}{int}{PyClass_Check}{PyObject *o}
+ Return true if the object \var{o} is a class object, including
+ instances of types derived from the standard class object. Return
+ false in all other cases.
+\end{cfuncdesc}
+
+\begin{cfuncdesc}{int}{PyClass_IsSubclass}{PyObject *klass, PyObject *base}
+ Return true if \var{klass} is a subclass of \var{base}. Return false in
+ all other cases.
+\end{cfuncdesc}
+
\subsection{File Objects \label{fileObjects}}
\obindex{file}