%module mycpp %include "std_vector.i" namespace std { %template(IntVector) vector; } extern double average(std::vector v); Having the C++ file as follows: #include #include #include #include double average(std::vector v) { return std::accumulate(v.begin(),v.end(),0.0)/v.size(); }