diff options
author | William S Fulton <wsf@fultondesigns.co.uk> | 2010-06-02 20:53:17 +0000 |
---|---|---|
committer | William S Fulton <wsf@fultondesigns.co.uk> | 2010-06-02 20:53:17 +0000 |
commit | 2824b0cbb66e715490e1ef13250bd675d87b32d9 (patch) | |
tree | c3bc8d54c6d73f2b7ce08cac34172dbc9f5e5b95 /trunk/Examples/test-suite/li_std_vectora.i | |
parent | 289cfef4b4766ff266f3b1bdda8ca3a952e5a047 (diff) | |
download | swig-2.0.0.tar.gz |
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/tags/rel-2.0.0@12089 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'trunk/Examples/test-suite/li_std_vectora.i')
-rw-r--r-- | trunk/Examples/test-suite/li_std_vectora.i | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/trunk/Examples/test-suite/li_std_vectora.i b/trunk/Examples/test-suite/li_std_vectora.i new file mode 100644 index 000000000..d95fdf648 --- /dev/null +++ b/trunk/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 *> >; + + + |