| /* File : example.i */ |
| |
| /* This file has a few "typical" uses of C++ references. */ |
| |
| %module Example |
| |
| %{ |
| #include "example.h" |
| %} |
| |
| %pragma(modula3) unsafe="1"; |
| |
| %insert(m3wrapintf) %{FROM ExampleRaw IMPORT Vector, VectorArray;%} |
| %insert(m3wrapimpl) %{FROM ExampleRaw IMPORT Vector, VectorArray;%} |
| |
| %typemap(m3wrapretvar) Vector %{vec: UNTRACED REF Vector;%} |
| %typemap(m3wrapretraw) Vector %{vec%} |
| %typemap(m3wrapretconv) Vector %{vec^%} |
| |
| |
| /* This helper function calls an overloaded operator */ |
| %inline %{ |
| Vector addv(const Vector &a, const Vector &b) { |
| return a+b; |
| } |
| %} |
| |
| %rename(Vector_Clear) Vector::Vector(); |
| %rename(Add) Vector::operator+; |
| %rename(GetItem) VectorArray::operator[]; |
| |
| %include "example.h" |