PageRenderTime 48ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/test-suite/inout.i

#
Swig | 48 lines | 38 code | 10 blank | 0 comment | 0 complexity | ea95e098c95eeaf01d260f3ded08d27b MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. %module inout
  2. %include "typemaps.i"
  3. %include "std_pair.i"
  4. %{
  5. inline void AddOne3(double* a, double* b, double* c) {
  6. *a += 1;
  7. *b += 1;
  8. *c += 1;
  9. }
  10. inline void AddOne1(double* a) {
  11. *a += 1;
  12. }
  13. inline void AddOne1p(std::pair<double, double>* p) {
  14. p->first += 1;
  15. p->second += 1;
  16. }
  17. inline void AddOne2p(std::pair<double, double>* p,double* a) {
  18. *a += 1;
  19. p->first += 1;
  20. p->second += 1;
  21. }
  22. inline void AddOne3p(double* a, std::pair<double, double>* p,double* b) {
  23. *a += 1;
  24. *b += 1;
  25. p->first += 1;
  26. p->second += 1;
  27. }
  28. inline void AddOne1r(double& a) {
  29. a += 1;
  30. }
  31. %}
  32. %template() std::pair<double, double>;
  33. void AddOne1(double* INOUT);
  34. void AddOne3(double* INOUT, double* INOUT, double* INOUT);
  35. void AddOne1p(std::pair<double, double>* INOUT);
  36. void AddOne2p(std::pair<double, double>* INOUT, double* INOUT);
  37. void AddOne3p(double* INOUT, std::pair<double, double>* INOUT, double* INOUT);
  38. void AddOne1r(double& INOUT);