summaryrefslogtreecommitdiff
path: root/Examples/test-suite/template_specialization_enum.i
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2009-08-18 20:56:02 +0000
committerLorry <lorry@roadtrain.codethink.co.uk>2012-09-25 16:59:08 +0000
commit9f8a09ed743cedd9547bf0661d518647966ab114 (patch)
tree9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/test-suite/template_specialization_enum.i
downloadswig-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.i63
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>;