%module smart_pointer_namespace2 %{ namespace one { template <typename T> class Ptr { T* p; public: Ptr(T *tp) : p(tp) {} ~Ptr() { }; T* operator->() { return p; } }; } namespace one { class Obj1 { public: Obj1() {} void donothing() {} }; typedef one::Ptr<Obj1> Obj1_ptr; } namespace two { class Obj2 { public: Obj2() {} void donothing() {} }; typedef one::Ptr<Obj2> Obj2_ptr; } %} namespace one { template <typename T> class Ptr { T* p; public: Ptr(T *tp) : p(tp) {} ~Ptr() { }; T* operator->() { return p; } }; } namespace one { class Obj1 { public: Obj1() {} void donothing() {} }; typedef one::Ptr<Obj1> Obj1_ptr; %template(Obj1_ptr) one::Ptr<Obj1>; } namespace two { class Obj2 { public: Obj2() {} void donothing() {} }; typedef one::Ptr<Obj2> Obj2_ptr; } using two::Obj2; %template(Obj2_ptr) one::Ptr<Obj2>;
Generated by dwww version 1.15 on Tue Jul 2 00:42:18 CEST 2024.