swig/Examples/test-suite/cpp11_shared_ptr_director.i
2017-04-20 19:20:11 +09:00

23 lines
388 B
OpenEdge ABL

%module(directors="1") "cpp11_shared_ptr_director"
%{
#include <memory>
%}
%include "std_shared_ptr.i";
%shared_ptr(Created);
%feature("director") Creator;
%inline %{
struct Created {};
struct Creator {
Creator() {};
virtual std::shared_ptr<Created> create() = 0;
virtual ~Creator() {}
};
void crash(Creator* creator) {
std::shared_ptr<Created> ptr = creator->create();
}
%}