diff options
Diffstat (limited to 'Examples/ruby/template/example.h')
-rw-r--r-- | Examples/ruby/template/example.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Examples/ruby/template/example.h b/Examples/ruby/template/example.h new file mode 100644 index 0000000..7401df6 --- /dev/null +++ b/Examples/ruby/template/example.h @@ -0,0 +1,32 @@ +/* File : example.h */ + +// Some template definitions + +template<class T> T max(T a, T b) { return a>b ? a : b; } + +template<class T> class vector { + T *v; + int sz; + public: + vector(int _sz) { + v = new T[_sz]; + sz = _sz; + } + T &get(int index) { + return v[index]; + } + void set(int index, T &val) { + v[index] = val; + } +#ifdef SWIG + %extend { + T getitem(int index) { + return $self->get(index); + } + void setitem(int index, T val) { + $self->set(index,val); + } + } +#endif +}; + |