/trunk/Examples/test-suite/primitive_ref.i
# · Swig · 47 lines · 39 code · 8 blank · 0 comment · 0 complexity · f976f450d5fd66c10defb7fdc0a57b9a MD5 · raw file
- // Tests passing of references to primitive datatypes
- %module primitive_ref
- %define ref(type,name)
- %inline %{
- const type &ref_##name(const type &x) {
- static type y = x;
- return y;
- }
- %}
- %enddef
- ref(int,int);
- ref(unsigned int, uint);
- ref(short, short);
- ref(unsigned short, ushort);
- ref(long,long);
- ref(unsigned long, ulong);
- ref(signed char, schar);
- ref(unsigned char, uchar);
- ref(char, char);
- ref(float, float);
- ref(double, double);
- ref(bool, bool);
- ref(long long, longlong);
- ref(unsigned long long, ulonglong);
- %inline %{
- int ref_over(int a)
- {
- return a;
- }
- struct A
- {
- int v;
- A(int V) :v(V) {}
- };
-
- int ref_over(const A& a)
- {
- return a.v;
- }
- %}