diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2009-08-18 20:56:02 +0000 |
|---|---|---|
| committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-09-25 16:59:08 +0000 |
| commit | 9f8a09ed743cedd9547bf0661d518647966ab114 (patch) | |
| tree | 9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/test-suite/li_std_vectora.i | |
| download | swig-tarball-master.tar.gz | |
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/test-suite/li_std_vectora.i')
| -rw-r--r-- | Examples/test-suite/li_std_vectora.i | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Examples/test-suite/li_std_vectora.i b/Examples/test-suite/li_std_vectora.i new file mode 100644 index 0000000..d95fdf6 --- /dev/null +++ b/Examples/test-suite/li_std_vectora.i @@ -0,0 +1,65 @@ +%module li_std_vectora + +%include std_vectora.i + + +%{ +#include <algorithm> +#include <functional> +#include <numeric> +%} + + +%template(vector_i) std::vector<int, std::allocator<int> >; + +%template(matrix_i) std::vector<std::vector<int,std::allocator<int> >,std::allocator<std::vector<int,std::allocator<int> > > >; + +%inline +{ + typedef + std::vector<std::vector<int,std::allocator<int> >, + std::allocator<std::vector<int,std::allocator<int> > > > + imatrix; + + std::vector<int> vident(const std::vector<int,std::allocator<int> >& v) + { + return v; + } + + imatrix mident(const imatrix& v) + { + return v; + } +} + + +%template(DoubleVector) std::vector<double, std::allocator<double> >; + +%inline %{ +typedef float Real; +%} + +namespace std { + %template(RealVector) vector<Real, std::allocator<Real> >; +} + +%inline %{ + +double average(std::vector<int, std::allocator<int> > v) { + return std::accumulate(v.begin(),v.end(),0.0)/v.size(); +} + +std::vector<Real,std::allocator<Real> > +half(const std::vector<Real,std::allocator<Real> >& v) { + std::vector<Real> w(v); + for (unsigned int i=0; i<w.size(); i++) + w[i] /= 2.0; + return w; +} + +%} + +%template(IntPtrVector) std::vector<int *,std::allocator<int *> >; + + + |
