Оболочка Python Swig: как получить доступ к PyObject? - PullRequest
1 голос
/ 23 октября 2010

У меня есть класс A, обернутый методом foo, реализованным с использованием% extend:

class A {...% exte {void foo () {self-> foo_impl ();}}

Теперь я хочу увеличить счетчик ссылок до A внутри foo_impl, но я получил только A * (как себя).

Вопрос: как мне написать / обернуть функцию foo, чтобы у меня был доступ как к A *, так и к основному PyObject *?

Спасибо

1 Ответ

1 голос
/ 26 октября 2010

Я думаю, что это невозможно.Если вам нужно увеличить refcount, это потому, что вы не хотите, чтобы объект C ++ был уничтожен, когда он выходит из области видимости, потому что в другом месте есть указатель на этот объект.В этом случае обратите внимание на использование карты типов DISOWN, чтобы убедиться, что целевой язык не считает, что он «владеет» объектом C ++, поэтому он не будет уничтожен.

...