Kaydet (Commit) 5e0dfacc authored tarafından Fred Drake's avatar Fred Drake

Update to the most recent weakref changes.

üst b0fefc51
...@@ -16,17 +16,11 @@ The \module{weakref} module allows the Python programmer to create ...@@ -16,17 +16,11 @@ The \module{weakref} module allows the Python programmer to create
XXX --- need to say more here! XXX --- need to say more here!
Not all objects can be weakly referenced; those objects which do Not all objects can be weakly referenced; those objects which do
include class instances and dictionaries. Extension types can easily include class instances, functions written in Python (but not in C),
and methods (both bound and unbound). Extension types can easily
be made to support weak references; see section \ref{weakref-extension}, be made to support weak references; see section \ref{weakref-extension},
``Weak References in Extension Types,'' for more information. ``Weak References in Extension Types,'' for more information.
\strong{Warning:}
The desired semantics of weak-reference proxy objects are not
completely clear; it is very difficult to create proxies which behave
exactly like the type of the referent. The details of these objects
are likely to change to some degree before the final release as
experience reports become available.
\begin{funcdesc}{ref}{object\optional{, callback}} \begin{funcdesc}{ref}{object\optional{, callback}}
Return a weak reference to \var{object}. If \var{callback} is Return a weak reference to \var{object}. If \var{callback} is
...@@ -56,7 +50,6 @@ experience reports become available. ...@@ -56,7 +50,6 @@ experience reports become available.
\var{object} is still alive, to references are equal if the objects \var{object} is still alive, to references are equal if the objects
are equal (regardless of the \var{callback}). If the \var{object} are equal (regardless of the \var{callback}). If the \var{object}
has been deleted, they are equal iff they are identical. has been deleted, they are equal iff they are identical.
\end{funcdesc} \end{funcdesc}
\begin{funcdesc}{mapping}{\optional{dict\optional{, weakkeys=0}}} \begin{funcdesc}{mapping}{\optional{dict\optional{, weakkeys=0}}}
...@@ -198,8 +191,8 @@ overhead on those objects which do not benefit by weak referencing ...@@ -198,8 +191,8 @@ overhead on those objects which do not benefit by weak referencing
For an object to be weakly referencable, the extension must include a For an object to be weakly referencable, the extension must include a
\ctype{PyObject *} field in the instance structure for the use of the \ctype{PyObject *} field in the instance structure for the use of the
weak reference mechanism; it will be initialized by Python's functions weak reference mechanism; it must be initialized to \NULL{} by the
for object creation. It must also set the \code{tp_weaklistoffset} object's constructor. It must also set the \member{tp_weaklistoffset}
field of the corresponding type object to the offset of the field. field of the corresponding type object to the offset of the field.
For example, the instance type is defined with the following structure: For example, the instance type is defined with the following structure:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment