Как определить метакласс Python с помощью Boost.Python?

Python C API имеет объект PyObject * PyType_Type , который эквивалентен типу в интерпретаторе.Если я хочу определить метакласс в C ++, как я могу установить тип в качестве одной из его баз в Boost.Python? Кроме того, что еще я должен учитывать при определении метакласса Python в C ++?

Было бы идеально, если бы для этого существовало решение Boost.Python. Если нет, то решение, использующее Python C API (или комбинацию Boost и C API), также подойдет. Поскольку другие мои классы доступны с помощью Boost, я бы предпочел оставить SWIG в крайнем случае.

Примечание: На самом деле это часть более серьезной проблемы, которую я пытаюсь решить, о которой я спрашивал в Установка метакласса обернутого класса с помощью Boost.Python , если вы интересно.

14
задан Community 23 May 2017 в 12:33
поделиться