У меня есть следующие объявления в файле интерфейса SWIG и класс с именем Тестовое задание :
%extend qual_name {
public:
~short_name()
{
//Do something here
};
}
Вышеуказанные объявления генерируют SWIGINTERN void delete_Test (Test * self) метод в сгенерированном файле CPP. Проблема в том, что у меня много классов, и один и тот же код генерируется для всех delete_XXX методы. Я хочу изменить содержание этого delete_XXX метод для одного конкретного класса. Как мне это сделать?
Я попробовал % игнорировать ключевое слово, но это просто игнорирует все определение и даже удаляет любые вызовы к нему. Не уверен если % ЬурейеЕ может использоваться для изменения содержимого метода.
Я решил это, добавив следующие строки в файл интерфейса:
%ignore qual_name::~short_name;
%extend Test {
public:
~Test() { // custom code here };
}