PageRenderTime 47ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
Swig | 47 lines | 39 code | 8 blank | 0 comment | 0 complexity | 59887d1524df8250e0b1cfb08b5548ee MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. %module(directors="1") director_overload
  2. %feature("director");
  3. #ifdef SWIGPYTHON
  4. %feature("director:except") {
  5. if ($error != NULL) {
  6. throw Swig::DirectorMethodException();
  7. }
  8. }
  9. #endif
  10. #ifdef SWIGRUBY
  11. // Catch ruby exceptions in directors
  12. %feature("director:except") {
  13. throw Swig::DirectorMethodException($error);
  14. }
  15. #endif
  16. %inline %{
  17. class OverloadedClass
  18. {
  19. public:
  20. virtual ~OverloadedClass() {}
  21. virtual void method1() const {}
  22. virtual void method2() const {}
  23. virtual void method3() const {}
  24. // test overloaded method, but not directly after the first method
  25. virtual void method2(bool b) const {}
  26. };
  27. class OverloadedPointers
  28. {
  29. public:
  30. virtual ~OverloadedPointers() {}
  31. virtual void method(int *p) const {}
  32. virtual void method(double *p) const {}
  33. virtual void method(bool &r) const {}
  34. virtual void method(short &r) const {}
  35. virtual void method(OverloadedClass *p) const {}
  36. virtual void method(OverloadedPointers *p) const {}
  37. virtual void notover(int *p) const {}
  38. };
  39. %}