diff options
Diffstat (limited to 'libs/python/doc/v2/Extractor.html')
-rw-r--r-- | libs/python/doc/v2/Extractor.html | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/libs/python/doc/v2/Extractor.html b/libs/python/doc/v2/Extractor.html new file mode 100644 index 000000000..441ca38b3 --- /dev/null +++ b/libs/python/doc/v2/Extractor.html @@ -0,0 +1,96 @@ +<!-- Copyright David Abrahams 2006. Distributed under the Boost --> +<!-- Software License, Version 1.0. (See accompanying --> +<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<link rel="stylesheet" type="text/css" href="../../../../boost.css"> +<title>Boost.Python - Extractor Concept</title> +</head> +<body link="#0000ff" vlink="#800080"> +<table border="0" cellpadding="7" cellspacing="0" width="100%" summary= + "header"> + <tr> + <td valign="top" width="300"> + <h3><a href="../../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../../boost.png" border="0"></a></h3> + </td> + <td valign="top"> + <h1 align="center"><a href="../index.html">Boost.Python</a></h1> + <h2 align="center">Extractor Concept</h2> + </td> + </tr> +</table> +<hr> +<dl class="page-index"> + <dt><a href="#introduction">Introduction</a></dt> + <dt><a href="#concept-requirements">Concept Requirements</a></dt> + <dl class="page-index"> + <dt><a href="#Extractor-concept">Extractor Concept</a></dt> + </dl> + <dt><a href="#notes">Notes</a></dt> +</dl> + +<h2><a name="introduction"></a>Introduction</h2> + +<p>An Extractor is a class which Boost.Python can use to extract C++ +objects from Python objects, and is typically used by facilities that +define <code>from_python</code> conversions for +"traditional" Python extension types. + +<h2><a name="concept-requirements"></a>Concept Requirements</h2> +<h3><a name="Extractor-concept"></a>Extractor Concept</h3> + +<p>In the table below, <code><b>X</b></code> denotes a model of +Extractor and <code><b>a</b></code> denotes an instance of a Python +object type. + +<table summary="Extractor expressions" border="1" cellpadding="5"> + + <tr> + <td><b>Expression</b></td> + <td><b>Type</b></td> + <td><b>Semantics</b></td> + </tr> + + <tr> + <td valign="top"><code>X::execute(a)</code></td> + <td>non-void + <td>Returns the C++ object being extracted. The + <code>execute</code> function must not be overloaded. + </tr> + + <tr> + <td valign="top"><code>&a.ob_type</code> + <td><code><a + href="http://www.python.org/doc/2.2/ext/dnt-type-methods.html">PyTypeObject</a>**</code> + <td>Points to the <code>ob_type</code> field of an object which is + layout-compatible with <code>PyObject</code> + </tr> + + </tr> + +</table> + +<h2><a name="notes"></a>Notes</h2> + +Informally, an Extractor's <code>execute</code> member must be a +non-overloaded static function whose single argument is a Python +object type. Acceptable Python object types include those publicly (and +unambiguously) derived from <code>PyObject</code>, and POD types which +are layout-compatible with PyObject. + +<hr> +<p>Revised + <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan --> + 13 November, 2002 + <!--webbot bot="Timestamp" endspan i-checksum="39359" --> +</p> + <p><i>© Copyright <a href="http://www.boost.org/people/dave_abrahams.htm">Dave + Abrahams</a> 2002. </i> + +<p>Permission to copy, use, modify, sell + and distribute this software is granted provided this copyright notice appears + in all copies. This software is provided "as is" without express or implied + warranty, and with no claim as to its suitability for any purpose. +</body> +</html> |