diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2009-08-18 20:56:02 +0000 |
|---|---|---|
| committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-09-25 16:59:08 +0000 |
| commit | 9f8a09ed743cedd9547bf0661d518647966ab114 (patch) | |
| tree | 9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/test-suite/smart_pointer_namespace2.i | |
| download | swig-tarball-master.tar.gz | |
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/test-suite/smart_pointer_namespace2.i')
| -rw-r--r-- | Examples/test-suite/smart_pointer_namespace2.i | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Examples/test-suite/smart_pointer_namespace2.i b/Examples/test-suite/smart_pointer_namespace2.i new file mode 100644 index 0000000..8827998 --- /dev/null +++ b/Examples/test-suite/smart_pointer_namespace2.i @@ -0,0 +1,80 @@ + +%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; } + }; +} + +%define PTR_DEF(o) +typedef one::Ptr<o> o ## _ptr; +%template(o ## _ptr) one::Ptr<o>; +%enddef + +namespace one +{ + class Obj1 + { + public: + Obj1() {} + void donothing() {} + }; + + PTR_DEF(Obj1) +} + +namespace two +{ + class Obj2 + { + public: + Obj2() {} + void donothing() {} + }; + + PTR_DEF(Obj2) +} + |
