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

Boost.Python - <boost/python/opaque_pointer_converter.hpp>

Boost.Python

Header <boost/python/opaque_pointer_converter.hpp>

Contents

Classes
Class template opaque<Pointee>
Class template opaque synopsis
Macros
Macro BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID
See Also

Classes

Class template opaque<P>

opaque<> registers itself as a converter from Python objects to pointers to undefined types and vice versa.

Class template opaque synopsis

namespace boost { namespace python
{
    template<class Pointee>
    struct opaque
    {
        opaque();
    };
}}

Class template opaque constructor

opaque();
Effects:
  • Registers the instance as a lvalue_from_pytype converter from Python objects into opaque pointers.

    The Python Objects created are named after the type pointed to by the opaque pointer being wrapped.

  • Registers the instance as a to_python_converter from opaque pointers to Python objects.

If there is already an instance registered by another module, this instance doesn't try to register again in order to avoid warnings about multiple registrations.

Note

Normally only a single instance of this class is created for every Pointee.

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

The macro must be invoked in every translation unit which uses the opaque converter.

See Also

return_opaque_pointer

Revised 10 September, 2006

© Copyright 2003..2006 Haufe Mediengruppe. All Rights Reserved.