summaryrefslogtreecommitdiff
path: root/Examples/test-suite
diff options
context:
space:
mode:
authorXavier Delacour <xavier.delacour@gmail.com>2008-03-05 04:35:34 +0000
committerXavier Delacour <xavier.delacour@gmail.com>2008-03-05 04:35:34 +0000
commit4d283f59c3315fe129d16b5d08f5d0bf7ea25460 (patch)
tree29e6e013b004174284d2c531444e21eb3312eba3 /Examples/test-suite
parent25fd00698b46c7954c971c22212780d42cf50b3e (diff)
downloadswig-4d283f59c3315fe129d16b5d08f5d0bf7ea25460.tar.gz
Fix ~15 tests, minor doc fixes, improve STL support.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10298 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Examples/test-suite')
-rw-r--r--Examples/test-suite/namespace_typemap.i73
-rw-r--r--Examples/test-suite/octave/Makefile.in10
-rw-r--r--Examples/test-suite/octave/arrays_global_runme.m23
-rw-r--r--Examples/test-suite/octave/constover_runme.m12
-rw-r--r--Examples/test-suite/octave/implicittest.i68
-rw-r--r--Examples/test-suite/octave/langobj_runme.m12
-rw-r--r--Examples/test-suite/octave/li_attribute_runme.m4
-rw-r--r--Examples/test-suite/octave/li_boost_shared_ptr_runme.m8
-rw-r--r--Examples/test-suite/octave/li_std_string.i55
-rw-r--r--Examples/test-suite/octave/namespace_typemap_runme.m4
-rw-r--r--Examples/test-suite/octave/overload_rename_runme.m4
-rw-r--r--Examples/test-suite/octave/refcount_runme.m19
-rw-r--r--Examples/test-suite/octave/template_default_arg_runme.m8
-rw-r--r--Examples/test-suite/octave/template_type_namespace_runme.m4
-rw-r--r--Examples/test-suite/preproc.i2
-rw-r--r--Examples/test-suite/python/template_typedef_runme.py6
-rw-r--r--Examples/test-suite/refcount.i4
-rw-r--r--Examples/test-suite/template_arg_replace.i8
-rw-r--r--Examples/test-suite/template_typedef.i62
-rw-r--r--Examples/test-suite/template_typedef_rec.i8
20 files changed, 261 insertions, 133 deletions
diff --git a/Examples/test-suite/namespace_typemap.i b/Examples/test-suite/namespace_typemap.i
index 93cc5c400..e4e0af905 100644
--- a/Examples/test-suite/namespace_typemap.i
+++ b/Examples/test-suite/namespace_typemap.i
@@ -22,12 +22,12 @@ namespace test {
}
};
- /* A minimalistic complex class */
- class complex {
+ /* A minimalistic test_complex class */
+ class test_complex {
double re;
double im;
public:
- complex(double r = 0, double i = 0) {
+ test_complex(double r = 0, double i = 0) {
re = r;
im = i;
}
@@ -44,16 +44,29 @@ namespace test {
/* SWIG interface tests */
#ifdef SWIGPYTHON
-%typemap(in) test::complex * {
+%typemap(in) test::test_complex * {
if (PyComplex_Check($input)) {
- $1 = new complex(PyComplex_RealAsDouble($input),
+ $1 = new test_complex(PyComplex_RealAsDouble($input),
PyComplex_ImagAsDouble($input));
} else {
- PyErr_SetString(PyExc_TypeError,"Expected complex.\n");
+ PyErr_SetString(PyExc_TypeError,"Expected test_complex.\n");
return NULL;
}
}
-%typemap(freearg) test::complex * {
+%typemap(freearg) test::test_complex * {
+ delete $1;
+}
+#endif
+#ifdef SWIGOCTAVE
+%typemap(in) test::test_complex * {
+ if ($input.is_complex_scalar()) {
+ $1 = new test_complex($input.complex_value().real(),
+ $input.complex_value().imag());
+ } else {
+ error("Expected test_complex.");
+ }
+}
+%typemap(freearg) test::test_complex * {
delete $1;
}
#endif
@@ -68,6 +81,14 @@ namespace test {
delete $1;
}
#endif
+#ifdef SWIGOCTAVE
+ %typemap(in) string_class * {
+ $1 = new string_class($input.string_value().c_str());
+ }
+ %typemap(freearg) string_class * {
+ delete $1;
+ }
+#endif
#ifdef SWIGRUBY
%typemap(in) string_class * {
$1 = new string_class(STR2CSTR($input));
@@ -81,26 +102,26 @@ namespace test {
%inline %{
namespace test {
class string_class;
- class complex;
+ class test_complex;
/* Functions in the namespace itself */
char *stest1(string_class *s) {
return s->c_str();
}
- double ctest1(complex *c) {
+ double ctest1(test_complex *c) {
return c->real();
}
}
namespace test2 {
using test::string_class;
- using test::complex;
+ using test::test_complex;
/* Functions in another namespace */
char *stest2(string_class *s) {
return s->c_str();
}
- double ctest2(complex *c) {
+ double ctest2(test_complex *c) {
return c->real();
}
}
@@ -111,7 +132,7 @@ namespace test {
char *stest3(string_class *s) {
return s->c_str();
}
- double ctest3(complex *c) {
+ double ctest3(test_complex *c) {
return c->real();
}
}
@@ -122,7 +143,7 @@ namespace test {
char *stest4(string_class *s) {
return s->c_str();
}
- double ctest4(complex *c) {
+ double ctest4(test_complex *c) {
return c->real();
}
}
@@ -133,7 +154,7 @@ namespace test {
char *stest5(string_class *s) {
return s->c_str();
}
- double ctest5(complex *c) {
+ double ctest5(test_complex *c) {
return c->real();
}
}
@@ -141,35 +162,35 @@ namespace test {
char *stest6(test::string_class *s) {
return s->c_str();
}
- double ctest6(test::complex *c) {
+ double ctest6(test::test_complex *c) {
return c->real();
}
char *stest7(test2::string_class *s) {
return s->c_str();
}
- double ctest7(test2::complex *c) {
+ double ctest7(test2::test_complex *c) {
return c->real();
}
char *stest8(test3::string_class *s) {
return s->c_str();
}
- double ctest8(test3::complex *c) {
+ double ctest8(test3::test_complex *c) {
return c->real();
}
char *stest9(test4::string_class *s) {
return s->c_str();
}
- double ctest9(test4::complex *c) {
+ double ctest9(test4::test_complex *c) {
return c->real();
}
char *stest10(test5::string_class *s) {
return s->c_str();
}
- double ctest10(test5::complex *c) {
+ double ctest10(test5::test_complex *c) {
return c->real();
}
@@ -178,17 +199,17 @@ namespace test {
char *stest11(test11::string_class *s) {
return s->c_str();
}
- double ctest11(test11::complex *c) {
+ double ctest11(test11::test_complex *c) {
return c->real();
}
using namespace test2;
- using test::complex;
+ using test::test_complex;
char *stest12(string_class *s) {
return s->c_str();
}
- double ctest12(complex *c) {
+ double ctest12(test_complex *c) {
return c->real();
}
%}
@@ -203,6 +224,14 @@ namespace Split {
}
}
#endif
+#ifdef SWIGOCTAVE
+ %typemap(in) PosInteger {
+ $1 = $input.long_value();
+ if ($1 < 0) {
+ error("domain error");
+ }
+ }
+#endif
#ifdef SWIGRUBY
%typemap(in) PosInteger {
$1 = NUM2INT($input);
diff --git a/Examples/test-suite/octave/Makefile.in b/Examples/test-suite/octave/Makefile.in
index 4feca8cd6..eff9c0c57 100644
--- a/Examples/test-suite/octave/Makefile.in
+++ b/Examples/test-suite/octave/Makefile.in
@@ -13,8 +13,14 @@ srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
-#CPP_TEST_CASES +=
-
+# CPP_TEST_CASES +=
+
+CPP_TEST_BROKEN += \
+ implicittest \
+ li_implicit \
+ li_std_map \
+ li_std_set \
+ li_std_stream
#C_TEST_CASES +=
diff --git a/Examples/test-suite/octave/arrays_global_runme.m b/Examples/test-suite/octave/arrays_global_runme.m
index 95a49088c..619d381b0 100644
--- a/Examples/test-suite/octave/arrays_global_runme.m
+++ b/Examples/test-suite/octave/arrays_global_runme.m
@@ -1,18 +1,19 @@
arrays_global
-arrays_global.array_i = arrays_global.array_const_i;
+arrays_global.cvar.array_i = arrays_global.cvar.array_const_i;
-BeginString_FIX44a;
-BeginString_FIX44b;
-BeginString_FIX44c;
-BeginString_FIX44d;
-BeginString_FIX44d;
-BeginString_FIX44b ="12"'\0'"45";
-BeginString_FIX44b;
-BeginString_FIX44d;
-BeginString_FIX44e;
-BeginString_FIX44f;
+cvar.BeginString_FIX44a;
+cvar.BeginString_FIX44b;
+cvar.BeginString_FIX44c;
+cvar.BeginString_FIX44d;
+cvar.BeginString_FIX44d;
+cvar.BeginString_FIX44b = strcat("12","\0","45");
+cvar.BeginString_FIX44b;
+cvar.BeginString_FIX44d;
+cvar.BeginString_FIX44e;
+cvar.BeginString_FIX44f;
test_a("hello","hi","chello","chi");
test_b("1234567","hi");
+
diff --git a/Examples/test-suite/octave/constover_runme.m b/Examples/test-suite/octave/constover_runme.m
index b6822fc84..febcdae69 100644
--- a/Examples/test-suite/octave/constover_runme.m
+++ b/Examples/test-suite/octave/constover_runme.m
@@ -5,28 +5,28 @@ if (!strcmp(p,"test"))
error("test failed!")
endif
-p = constover.test_pconst("test")
+p = constover.test_pconst("test");
if (!strcmp(p,"test_pconst"))
error("test_pconst failed!")
endif
-f = constover.Foo()
-p = f.test("test")
+f = constover.Foo();
+p = f.test("test");
if (!strcmp(p,"test"))
error("member-test failed!")
endif
-p = f.test_pconst("test")
+p = f.test_pconst("test");
if (!strcmp(p,"test_pconst"))
error("member-test_pconst failed!")
endif
-p = f.test_constm("test")
+p = f.test_constm("test");
if (!strcmp(p,"test_constmethod"))
error("member-test_constm failed!")
endif
-p = f.test_pconstm("test")
+p = f.test_pconstm("test");
if (!strcmp(p,"test_pconstmethod"))
error("member-test_pconstm failed!")
endif
diff --git a/Examples/test-suite/octave/implicittest.i b/Examples/test-suite/octave/implicittest.i
new file mode 100644
index 000000000..91205aafa
--- /dev/null
+++ b/Examples/test-suite/octave/implicittest.i
@@ -0,0 +1,68 @@
+%module(naturalvar="1") implicittest
+
+%implicitconv;
+
+%inline
+{
+ struct B { };
+}
+
+%inline
+{
+ struct A
+ {
+ int ii;
+ A(int i) { ii = 1; }
+ A(double d) { ii = 2; }
+ A(const B& b) { ii = 3; }
+ explicit A(char *s) { ii = 4; }
+
+ int get() const { return ii; }
+
+ };
+
+ int get(const A& a) { return a.ii; }
+
+ template <class T>
+ struct A_T
+ {
+ int ii;
+ A_T(int i) { ii = 1; }
+ A_T(double d) { ii = 2; }
+ A_T(const B& b) { ii = 3; }
+ explicit A_T(char *s) { ii = 4; }
+
+ int get() const { return ii; }
+
+ };
+}
+
+%inline
+{
+ struct Foo
+ {
+ int ii;
+ Foo(){ ii = 0;}
+ Foo(int){ ii = 1;}
+ Foo(double){ ii = 2;}
+ explicit Foo(char *s){ii = 3;}
+ Foo(const Foo& f){ ii = f.ii;}
+
+ };
+
+ struct Bar
+ {
+ int ii;
+ Foo f;
+ Bar() {ii = -1;}
+ Bar(const Foo& ff){ ii = ff.ii;}
+ };
+
+
+ int get_b(const Bar&b) { return b.ii; }
+
+ Foo foo;
+
+}
+
+%template(A_int) A_T<int>;
diff --git a/Examples/test-suite/octave/langobj_runme.m b/Examples/test-suite/octave/langobj_runme.m
deleted file mode 100644
index a18905ec0..000000000
--- a/Examples/test-suite/octave/langobj_runme.m
+++ /dev/null
@@ -1,12 +0,0 @@
-langobj
-
-
-x ="hello"
-rx = sys.getrefcount(x)
-v = identity(x)
-rv = sys.getrefcount(v)
-if v != x:
- error
-
-if rv - rx != 1:
- error
diff --git a/Examples/test-suite/octave/li_attribute_runme.m b/Examples/test-suite/octave/li_attribute_runme.m
index 49d488b0a..c66e27c5b 100644
--- a/Examples/test-suite/octave/li_attribute_runme.m
+++ b/Examples/test-suite/octave/li_attribute_runme.m
@@ -47,9 +47,9 @@ if (b.a.c != 3)
endif
-myFoo = li_attribute.MyFoo;
+myFoo = li_attribute.MyFoo();
myFoo.x = 8;
-myClass = li_attribute.MyClass;
+myClass = li_attribute.MyClass();
myClass.Foo = myFoo;
if (myClass.Foo.x != 8)
error
diff --git a/Examples/test-suite/octave/li_boost_shared_ptr_runme.m b/Examples/test-suite/octave/li_boost_shared_ptr_runme.m
index 358b55d0a..ca09316bc 100644
--- a/Examples/test-suite/octave/li_boost_shared_ptr_runme.m
+++ b/Examples/test-suite/octave/li_boost_shared_ptr_runme.m
@@ -10,10 +10,10 @@ function main()
li_boost_shared_ptr.cvar.debug_shared = debug;
# Change loop count to run for a long time to monitor memory
- loopCount = 1 #5000
+ loopCount = 1; #5000
for i=0:loopCount,
self.runtest();
- endif
+ endfor
if (li_boost_shared_ptr.Klass.getTotal_count() != 0)
error("Klass.total_count=", li_boost_shared_ptr.Klass.getTotal_count())
@@ -454,10 +454,10 @@ function runtest()
# templates
pid = li_boost_shared_ptr.PairIntDouble(10, 20.2)
- if (pid.baseVal1 != 20 or pid.baseVal2 != 40.4)
+ if (pid.baseVal1 != 20 || pid.baseVal2 != 40.4)
error("Base values wrong")
endif
- if (pid.val1 != 10 or pid.val2 != 20.2)
+ if (pid.val1 != 10 || pid.val2 != 20.2)
error("Derived Values wrong")
endif
endfunction
diff --git a/Examples/test-suite/octave/li_std_string.i b/Examples/test-suite/octave/li_std_string.i
new file mode 100644
index 000000000..822d713c4
--- /dev/null
+++ b/Examples/test-suite/octave/li_std_string.i
@@ -0,0 +1,55 @@
+%module li_std_string
+
+%naturalvar A;
+
+
+%include <std_basic_string.i>
+%include <std_string.i>
+
+
+%inline %{
+
+struct A : std::string
+{
+ A(const std::string& s) : std::string(s)
+ {
+ }
+};
+
+struct B
+{
+ B(const std::string& s) : cname(0), name(s), a(s)
+ {
+ }
+
+ char *cname;
+ std::string name;
+ A a;
+
+};
+
+
+const char* test_ccvalue(const char* x) {
+ return x;
+}
+
+char* test_cvalue(char* x) {
+ return x;
+}
+
+std::basic_string<char> test_value_basic1(std::basic_string<char> x) {
+ return x;
+}
+
+std::basic_string<char,std::char_traits<char> > test_value_basic2(std::basic_string<char,std::char_traits<char> > x) {
+ return x;
+}
+
+std::basic_string<char,std::char_traits<char>,std::allocator<char> > test_value_basic3(std::basic_string<char,std::char_traits<char>,std::allocator<char> > x) {
+ return x;
+}
+
+%}
+
+%include ../li_std_string.i
+
diff --git a/Examples/test-suite/octave/namespace_typemap_runme.m b/Examples/test-suite/octave/namespace_typemap_runme.m
index 2e4990fb9..ca3730773 100644
--- a/Examples/test-suite/octave/namespace_typemap_runme.m
+++ b/Examples/test-suite/octave/namespace_typemap_runme.m
@@ -48,8 +48,8 @@ if (!strcmp(stest12("hello"),"hello"))
error
endif
-c = complex(2,3)
-r = c.real
+c = complex(2,3);
+r = real(c);
if (ctest1(c) != r)
error
diff --git a/Examples/test-suite/octave/overload_rename_runme.m b/Examples/test-suite/octave/overload_rename_runme.m
index c266988c2..4a416cfbc 100644
--- a/Examples/test-suite/octave/overload_rename_runme.m
+++ b/Examples/test-suite/octave/overload_rename_runme.m
@@ -3,6 +3,6 @@ overload_rename
f = overload_rename.Foo(1);
f = overload_rename.Foo(1,1);
-f = overload_rename.Foo_int(1,1);
-f = overload_rename.Foo_int(1,1,1);
+f = overload_rename.new_Foo_int(1,1);
+f = overload_rename.new_Foo_int(1,1,1);
diff --git a/Examples/test-suite/octave/refcount_runme.m b/Examples/test-suite/octave/refcount_runme.m
index 2eb8eeed0..3ce5bcda2 100644
--- a/Examples/test-suite/octave/refcount_runme.m
+++ b/Examples/test-suite/octave/refcount_runme.m
@@ -13,22 +13,3 @@ if (a.ref_count() != 3)
endif
-rca = b2.get_rca();
-b3 = B.create(rca);
-
-if (a.ref_count() != 5)
- error("This program will crash... now")
-endif
-
-
-v = vector_A(2);
-v(0) = a;
-v(1) = a;
-
-x = v(0);
-clear v;
-
-
-
-
-
diff --git a/Examples/test-suite/octave/template_default_arg_runme.m b/Examples/test-suite/octave/template_default_arg_runme.m
index 62219dc77..e50066248 100644
--- a/Examples/test-suite/octave/template_default_arg_runme.m
+++ b/Examples/test-suite/octave/template_default_arg_runme.m
@@ -2,7 +2,7 @@ template_default_arg
helloInt = template_default_arg.Hello_int();
-helloInt.foo(template_default_arg.Hello_int.hi);
+helloInt.foo(template_default_arg.Hello_int_hi);
x = template_default_arg.X_int();
@@ -18,7 +18,7 @@ endif
-y = template_default_arg.Y_unsigned()
+y = template_default_arg.Y_unsigned();
if (y.meth(20.0, 200) != 200)
error("Y_unsigned test 1 failed")
endif
@@ -33,7 +33,7 @@ endif
x = template_default_arg.X_longlong();
x = template_default_arg.X_longlong(20.0);
-x = template_default_arg.X_longlong(20.0, 200L);
+x = template_default_arg.X_longlong(20.0, 200);
x = template_default_arg.X_int();
@@ -49,7 +49,7 @@ x = template_default_arg.X_hello_unsigned(20.0, template_default_arg.Hello_int()
y = template_default_arg.Y_hello_unsigned();
y.meth(20.0, template_default_arg.Hello_int());
y.meth(template_default_arg.Hello_int());
-y.meth()
+y.meth();
diff --git a/Examples/test-suite/octave/template_type_namespace_runme.m b/Examples/test-suite/octave/template_type_namespace_runme.m
index 1974a3be7..bbdcdef5e 100644
--- a/Examples/test-suite/octave/template_type_namespace_runme.m
+++ b/Examples/test-suite/octave/template_type_namespace_runme.m
@@ -1,7 +1,5 @@
template_type_namespace
-if (!strcmp(typeinfo(foo()(0)),typeinfo("")))
- error
-endif
+assert(strcmp(foo()(1),"foo"));
diff --git a/Examples/test-suite/preproc.i b/Examples/test-suite/preproc.i
index 3afbd90c5..164d1a1d1 100644
--- a/Examples/test-suite/preproc.i
+++ b/Examples/test-suite/preproc.i
@@ -228,6 +228,7 @@ This testcase tests operators for defines
+#ifndef SWIGOCTAVE
#ifdef __cplusplus
#define %mangle(...) #@__VA_ARGS__
@@ -245,6 +246,7 @@ inline const char* mangle ## #@__VA_ARGS__ () {
}
#endif
+#endif
#if defined (__cplusplus) \
diff --git a/Examples/test-suite/python/template_typedef_runme.py b/Examples/test-suite/python/template_typedef_runme.py
index e2efb7246..4b3970593 100644
--- a/Examples/test-suite/python/template_typedef_runme.py
+++ b/Examples/test-suite/python/template_typedef_runme.py
@@ -1,7 +1,7 @@
from template_typedef import *
d = make_Identity_float()
-c = make_Identity_real()
+c = make_Identity_reald()
try:
@@ -18,14 +18,14 @@ except:
raise RuntimeError
try:
- f = make_Multiplies_real_real_real_real(c, c)
+ f = make_Multiplies_reald_reald_reald_reald(c, c)
a = f.this
except:
print f, "is not an instance"
raise RuntimeError
try:
- g = make_Multiplies_float_float_real_real(d, c)
+ g = make_Multiplies_float_float_reald_reald(d, c)
a = g.this
except:
print g, "is not an instance"
diff --git a/Examples/test-suite/refcount.i b/Examples/test-suite/refcount.i
index 5dfd951d3..8352b508a 100644
--- a/Examples/test-suite/refcount.i
+++ b/Examples/test-suite/refcount.i
@@ -55,7 +55,7 @@
%}
-#ifdef SWIGPYTHON
+#if defined(SWIGPYTHON)
%extend_smart_pointer(RCPtr<A>);
%template(RCPtr_A) RCPtr<A>;
#endif
@@ -96,7 +96,7 @@
%}
-#ifdef SWIGPYTHON
+#if defined(SWIGPYTHON) || defined(SWIGOCTAVE)
%include <std_vector.i>
%template(vector_A) std::vector<RCPtr<A> >;
diff --git a/Examples/test-suite/template_arg_replace.i b/Examples/test-suite/template_arg_replace.i
index 4e69fa351..25274c9ab 100644
--- a/Examples/test-suite/template_arg_replace.i
+++ b/Examples/test-suite/template_arg_replace.i
@@ -1,14 +1,14 @@
%module template_arg_replace
-%warnfilter(SWIGWARN_RUBY_WRONG_NAME) Matrix<float, 3, 3>; /* Ruby, wrong class name */
+%warnfilter(SWIGWARN_RUBY_WRONG_NAME) test_Matrix<float, 3, 3>; /* Ruby, wrong class name */
%inline %{
-template <typename T, int r, int c> class Matrix {
+template <typename T, int r, int c> class test_Matrix {
public:
- void Func(const Matrix<T,r,c> &m) { };
+ void Func(const test_Matrix<T,r,c> &m) { };
};
%}
-%template (matrix33f) Matrix<float,3, 3>;
+%template (matrix33f) test_Matrix<float,3, 3>;
diff --git a/Examples/test-suite/template_typedef.i b/Examples/test-suite/template_typedef.i
index 8ad5de209..b6128e1fa 100644
--- a/Examples/test-suite/template_typedef.i
+++ b/Examples/test-suite/template_typedef.i
@@ -8,15 +8,15 @@
//
#if 0
-#define real double
+#define reald double
%{
-#define real double
+#define reald double
%}
#else
%inline %{
- typedef double real;
+ typedef double reald;
%}
#endif
@@ -24,7 +24,7 @@
%inline %{
- // typedef double real;
+ // typedef double reald;
namespace vfncs {
@@ -78,29 +78,29 @@
};
template<>
- struct arith_traits< real, real >
+ struct arith_traits< reald, reald >
{
- typedef real argument_type;
- typedef real result_type;
+ typedef reald argument_type;
+ typedef reald result_type;
static const char* const arg_type;
static const char* const res_type;
};
template<>
- struct arith_traits< real, float >
+ struct arith_traits< reald, float >
{
typedef float argument_type;
- typedef real result_type;
+ typedef reald result_type;
static const char* const arg_type;
static const char* const res_type;
};
template<>
- struct arith_traits< float, real >
+ struct arith_traits< float, reald >
{
typedef float argument_type;
- typedef real result_type;
+ typedef reald result_type;
static const char* const arg_type;
static const char* const res_type;
};
@@ -124,14 +124,14 @@
const char* const arith_traits< float, float >::arg_type = "float";
const char* const arith_traits< float, float >::res_type = "float";
- const char* const arith_traits< real, real >::arg_type = "real";
- const char* const arith_traits< real, real >::res_type = "real";
+ const char* const arith_traits< reald, reald >::arg_type = "reald";
+ const char* const arith_traits< reald, reald >::res_type = "reald";
- const char* const arith_traits< real, float >::arg_type = "float";
- const char* const arith_traits< real, float >::res_type = "real";
+ const char* const arith_traits< reald, float >::arg_type = "float";
+ const char* const arith_traits< reald, float >::res_type = "reald";
- const char* const arith_traits< float, real >::arg_type = "float";
- const char* const arith_traits< float, real >::res_type = "real";
+ const char* const arith_traits< float, reald >::arg_type = "float";
+ const char* const arith_traits< float, reald >::res_type = "reald";
#endif
@@ -145,32 +145,32 @@ namespace vfncs {
%template() arith_traits<float, float >;
%template(make_Identity_float) make_Identity<float >;
- %template(UnaryFunction_real_real) UnaryFunction<real, real >;
- %template(ArithUnaryFunction_real_real) ArithUnaryFunction<real, real >;
+ %template(UnaryFunction_reald_reald) UnaryFunction<reald, reald >;
+ %template(ArithUnaryFunction_reald_reald) ArithUnaryFunction<reald, reald >;
- %template() unary_func_traits<real, real >;
- %template() arith_traits<real, real >;
- %template(make_Identity_real) make_Identity<real >;
+ %template() unary_func_traits<reald, reald >;
+ %template() arith_traits<reald, reald >;
+ %template(make_Identity_reald) make_Identity<reald >;
/* [beazley] Added this part */
- %template() unary_func_traits<float,real>;
- %template(UnaryFunction_float_real) UnaryFunction<float,real>;
- %template(ArithUnaryFunction_float_real) ArithUnaryFunction<float,real>;
+ %template() unary_func_traits<float,reald>;
+ %template(UnaryFunction_float_reald) UnaryFunction<float,reald>;
+ %template(ArithUnaryFunction_float_reald) ArithUnaryFunction<float,reald>;
/* */
- %template() arith_traits<real, float >;
- %template() arith_traits<float, real >;
+ %template() arith_traits<reald, float >;
+ %template() arith_traits<float, reald >;
%template() arith_traits<float, float >;
- %template(make_Multiplies_float_float_real_real)
- make_Multiplies<float, float, real, real>;
+ %template(make_Multiplies_float_float_reald_reald)
+ make_Multiplies<float, float, reald, reald>;
%template(make_Multiplies_float_float_float_float)
make_Multiplies<float, float, float, float>;
- %template(make_Multiplies_real_real_real_real)
- make_Multiplies<real, real, real, real>;
+ %template(make_Multiplies_reald_reald_reald_reald)
+ make_Multiplies<reald, reald, reald, reald>;
}
diff --git a/Examples/test-suite/template_typedef_rec.i b/Examples/test-suite/template_typedef_rec.i
index f630034db..83fe2104a 100644
--- a/Examples/test-suite/template_typedef_rec.i
+++ b/Examples/test-suite/template_typedef_rec.i
@@ -6,7 +6,7 @@ typedef size_t MY_sizeT;
typedef long MY_intT;
typedef double MY_floatT;
-class Array
+class test_Array
{
public:
typedef MY_intT intT;
@@ -19,7 +19,7 @@ template <typename T>
class ArrayIterator
{
public:
- typedef Array::intT intT;
+ typedef test_Array::intT intT;
};
@@ -27,13 +27,13 @@ template <typename T>
class ArrayReverseIterator
{
public:
- typedef Array::intT intT;
+ typedef test_Array::intT intT;
};
template <typename T>
class ArrayPrimitiveT
- : public Array
+ : public test_Array
{
public:
typedef T ValueT;