|  | 
          opaque<>
          registers itself as a converter from Python objects to pointers to undefined
          types and vice versa.
        
namespace boost { namespace python { template<class Pointee> struct opaque { opaque(); }; }}
opaque();
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.
                  to_python_converter
                    from opaque pointers to Python objects.
                  | ![[Note]](../../images/note.png) | Note | 
|---|---|
| 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. | 
          This macro must be used to define specializations of the type_id function which can't be
          instantiated for incomplete types.
        
| ![[Note]](../../images/note.png) | Note | 
|---|---|
| The macro must be invoked in every translation unit which uses the opaque converter. |