C++ Boost

Boost.Python

Extractor Concept


Introduction
Concept Requirements
Extractor Concept
Notes

Introduction

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 from_python conversions for "traditional" Python extension types.

Concept Requirements

Extractor Concept

In the table below, X denotes a model of Extractor and a denotes an instance of a Python object type.
Expression Type Semantics
X::execute(a) non-void Returns the C++ object being extracted. The execute function must not be overloaded.
&a.ob_type PyTypeObject** Points to the ob_type field of an object which is layout-compatible with PyObject

Notes

Informally, an Extractor's execute 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 PyObject, and POD types which are layout-compatible with PyObject.

Revised 13 November, 2002

© Copyright Dave Abrahams 2002.

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.