<!-- 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
&quot;traditional&quot; 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>&amp;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>&copy; 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>
