API Python C имеет объект PyObject *PyType_Type
, который эквивалентен type
в интерпретаторе. Если я хочу определить метакласс в С++, как я могу установить type
как одну из своих баз в Boost.Python? Кроме того, что еще следует учитывать при определении метакласса Python в С++?
Было бы идеально, если бы на это было решение Boost.Python. Если нет, то решение, использующее API Python C (или комбинацию Boost и C API), также хорошо. Поскольку мои другие классы подвергаются воздействию Boost, я предпочел бы оставить SWIG в крайнем случае.
Примечание. На самом деле это часть более сложной проблемы, которую я пытаюсь решить, о чем я спросил в Установка метакласса завернутого класса с Boost.Python, если вам интересно.