Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

Boost.Python

Header <boost/python/opaque_pointer_converter.hpp>

Contents

Classes
Class template opaque_pointer_converter<P>
Class template opaque_pointer_converter synopsis
Macros
Macro BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID
Example
See Also

Classes

Class template opaque_pointer_converter<P>

opaque_pointer_converter<> is derived from to_python_converter and registers itself as an lvalue_from_pytype converter from Python objects into pointers to undefined types. Thus it may be used as a converter from opaque pointers into Python objects and vice versa.

Class template opaque_pointer_converter synopsis

namespace boost { namespace python
{
    template<class Pointer>
    struct opaque_pointer_converter
        : to_python_converter<
          Pointer, opaque_pointer_converter<Pointer> >
    {
        explicit opaque_pointer_converter(char const* name);
    };
}}

Class template opaque_pointer_converter constructor

explicit opaque_pointer_converter(char const* name);
Effects:

Registers the instance as a lvalue_from_pytype converter from Python objects into opaque pointers.

The name is used for the type of the Python Objects created; it should be printable but needn't be an ntbs because the object type is not supposed to be user constructible within python scripts.

Macros

Macro BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID(Pointee)

This macro must be used to define specializations of the type_id function which can't be instantiated for incomplete types.

Note

In order for this to work in a cross-module environment the macro must be invoked in every translation unit which uses the opaque_pointer_converter.

Example

please see example for return_opaque_pointer.

See Also

return_opaque_pointer

Revised 10 March, 2003

© Copyright 2003 Haufe Mediengruppe. All Rights Reserved.