swig/SWIG/Examples/test-suite/disown.i
Marcelo Matus 3ebece429c add disown.i and li_attribute.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7726 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-26 07:08:18 +00:00

47 lines
595 B
OpenEdge ABL

%module disown
%{
#include <iostream>
%}
#pragma SWIG nowarn=453
%apply SWIGTYPE *DISOWN { A *disown };
%inline {
struct A
{
~A()
{
// std::cout <<"delete A" << std::endl;
}
};
class B
{
A *_a;
public:
B() : _a(0)
{
}
~B()
{
if (_a) {
// std::cout <<"delete A from B" << std::endl;
delete _a;
}
// std::cout <<"delete B" << std::endl;
}
int acquire(A *disown)
{
// std::cout <<"acquire A" << std::endl;
_a = disown;
return 5;
}
};
}