| /* File : example.i */ |
| %title "Matrix and vector package" |
| |
| /* This file has a few "typical" uses of C++ references. */ |
| |
| %module example |
| |
| %{ |
| #include "example.h" |
| %} |
| |
| class Vector { |
| public: |
| Vector(double x, double y, double z); |
| ~Vector(); |
| char *print(); |
| }; |
| |
| /* This helper function calls an overloaded operator */ |
| %inline %{ |
| Vector addv(Vector &a, Vector &b) { |
| return a+b; |
| } |
| %} |
| |
| /* Wrapper around an array of vectors class */ |
| |
| class VectorArray { |
| public: |
| VectorArray(int maxsize); |
| ~VectorArray(); |
| int size(); |
| |
| /* This wrapper provides an alternative to the [] operator */ |
| %addmethods { |
| Vector &get(int index) { |
| return (*self)[index]; |
| } |
| void set(int index, Vector &a) { |
| (*self)[index] = a; |
| } |
| } |
| }; |
| |
| |
| |
| |