%module smart_pointer_ignore %ignore Derived; %inline %{ class Base { public: void baseMethod() {} }; class Derived : public Base { public: void derivedMethod() {} }; template <class T> class Ptr { public: Ptr(T *t) : ptr(t) {} T * operator->() const { return ptr; } private: T *ptr; }; %} %template(DerivedPtr) Ptr<Derived>; %inline %{ Ptr<Derived> makeDerived() { return Ptr<Derived>(new Derived()); } %}
Generated by dwww version 1.15 on Tue Jul 2 00:44:57 CEST 2024.