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/template_specialization_enum.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/template_specialization_enum.i')
| -rw-r--r-- | Examples/test-suite/template_specialization_enum.i | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Examples/test-suite/template_specialization_enum.i b/Examples/test-suite/template_specialization_enum.i new file mode 100644 index 0000000..5fc51fb --- /dev/null +++ b/Examples/test-suite/template_specialization_enum.i @@ -0,0 +1,63 @@ +%module template_specialization_enum + +%warnfilter(SWIGWARN_RUBY_WRONG_NAME) Hello; /* Ruby, wrong class name */ +%warnfilter(SWIGWARN_RUBY_WRONG_NAME) Hi; /* Ruby, wrong class name */ + + +%inline %{ + + enum Hello + { + hi, hello + }; + + + template <Hello, class A> + struct C + { + }; + + + template <Hello, class BB> + struct Base + { + }; + + + template <class A> + struct C<hello , A> : Base<hello, A> + { + int fhello() + { + return hello; + } + + protected: + C() + { + } + }; + + + template <class A> + struct C<hi , A> : Base<hi, A> + { + int fhi() + { + return hi; + } + + protected: + C() + { + } + }; + + +%} + +%template(Base_dd) Base<hi, int>; +%template(Base_ii) Base<hello, int>; + +%template(C_i) C<hi, int>; +%template(C_d) C<hello, int>; |
