%module inout %include "typemaps.i" %include "std_pair.i" %{ inline void AddOne3(double* a, double* b, double* c) { *a += 1; *b += 1; *c += 1; } inline void AddOne1(double* a) { *a += 1; } inline void AddOne1p(std::pair* p) { p->first += 1; p->second += 1; } inline void AddOne2p(std::pair* p,double* a) { *a += 1; p->first += 1; p->second += 1; } inline void AddOne3p(double* a, std::pair* p,double* b) { *a += 1; *b += 1; p->first += 1; p->second += 1; } inline void AddOne1r(double& a) { a += 1; } %} %template() std::pair; void AddOne1(double* INOUT); void AddOne3(double* INOUT, double* INOUT, double* INOUT); void AddOne1p(std::pair* INOUT); void AddOne2p(std::pair* INOUT, double* INOUT); void AddOne3p(double* INOUT, std::pair* INOUT, double* INOUT); void AddOne1r(double& INOUT);