API Python C имеет объект PyObject *PyType_Type
, который эквивалентен type
в интерпретаторе. Если я хочу определить метакласс в C++, как установить type
в качестве одной из его баз в Boost.Python? Кроме того, что еще нужно учитывать при определении метакласса Python в C++?Как определить метакласс Python с помощью Boost.Python?
Было бы идеально, если бы это было решение Boost.Python. Если нет, то решение, использующее API Python C (или комбинацию Boost и C API), также хорошо. Поскольку мои другие классы подвергаются воздействию Boost, я предпочел бы оставить SWIG в качестве последнего средства.
Примечание: На самом деле это часть более сложной проблемы, которую я пытаюсь решить, о которой я просил в Setting metaclass of wrapped class with Boost.Python, если вам интересно.
Вы ищете только решения Boost.Python? Я думаю, что я могу решить это с помощью SWIG :) – Flexo
@awoodland Boost.Python предпочтительнее, но я не против SWIG. –
Хорошо, если вы не получите хороший ответ Boost.Python, пингуйте мне, чтобы напомнить мне еще один, и я посмотрю на это с помощью SWIG. – Flexo