SWIG: Как изменить автоматически сгенерированный & quot; delete_xxx & quot; код

У меня есть следующие объявления в файле интерфейса SWIG и класс с именем Тестовое задание :

 %extend qual_name {
public:
~short_name()
{
//Do something here
};
}

Вышеуказанные объявления генерируют SWIGINTERN void delete_Test (Test * self) метод в сгенерированном файле CPP. Проблема в том, что у меня много классов, и один и тот же код генерируется для всех delete_XXX методы. Я хочу изменить содержание этого delete_XXX метод для одного конкретного класса. Как мне это сделать?

Я попробовал % игнорировать ключевое слово, но это просто игнорирует все определение и даже удаляет любые вызовы к нему. Не уверен если % ЬурейеЕ может использоваться для изменения содержимого метода.

0

Решение

Я решил это, добавив следующие строки в файл интерфейса:

 %ignore qual_name::~short_name;
%extend Test {
public:
~Test() { // custom code here };
}
0

Другие решения