Interfejs API języka Python C ma obiekt PyObject *PyType_Type
, który jest równoważny z type
w tłumaczu. Jeśli chcę zdefiniować metaclass w C++, jak ustawić type
jako jedną z jego baz w Boost.Python? Co jeszcze powinienem wziąć pod uwagę przy definiowaniu metaklasu Pythona w C++?Jak zdefiniować metakl Pythona za pomocą Boost.Python?
Byłoby idealnie, gdyby istniało rozwiązanie Boost.Python do tego. Jeśli nie, rozwiązanie wykorzystujące API Python C (lub kombinację Boost i C API) również jest dobre. Ponieważ moje inne klasy są wystawione na działanie Boost, wolałbym zostawić SWIG w ostateczności.
Uwaga: To jest rzeczywiście częścią większego problemu Próbuję rozwiązać, którego poprosiłem o w Setting metaclass of wrapped class with Boost.Python, jeśli jesteś zainteresowany.
Szukacie tylko rozwiązań Boost.Python? Myślę, że mogę to rozwiązać z SWIG :) – Flexo
@awoodland Boost.Python jest lepszy, ale nie jestem przeciwny SWIG. –
OK, jeśli nie otrzymasz dobrej odpowiedzi Boost.Python, zadzwoń do mnie, aby przypomnieć mi o innym @, a przyjrzę się temu przy pomocy SWIG. – Flexo