The Python C API has the PyObject *PyType_Type
object, which is equivalent to type
in the interpreter. If I want to define a metaclass in C++, how can I set type
as one of its bases in Boost.Python? Also, what other things should I take into consideration when defining a Python metaclass in C++?
It'd be ideal if there was a Boost.Python solution to this. If not, a solution that uses the Python C API (or a combination of Boost and the C API) is good as well. Since my other classes are exposed with Boost, I'd rather leave SWIG as a last resort.
Note: This is actually part of a bigger problem I'm trying to solve, which I've asked about in Setting metaclass of wrapped class with Boost.Python, if you're interested.