/tags/ttn-post-libtool-1-4-3-upgrade/SWIG/Examples/test-suite/using_extend.i

# · Swig · 37 lines · 29 code · 8 blank · 0 comment · 0 complexity · ab5c4edb1d80e010ddc6fc5a6d059c66 MD5 · raw file

  1. %module using_extend
  2. %warnfilter(802, 813) FooBar; // Ruby, Java multiple inheritance
  3. %extend Foo {
  4. int blah(int x, int y) {
  5. return x+y;
  6. }
  7. };
  8. %extend Bar {
  9. double blah(double x, double y) {
  10. return x+y;
  11. }
  12. };
  13. %inline %{
  14. class Foo {
  15. public:
  16. int blah(int x) { return x; }
  17. char *blah(char *x) { return x; }
  18. };
  19. class Bar {
  20. public:
  21. double blah(double x) { return x; }
  22. };
  23. class FooBar : public Foo, public Bar {
  24. public:
  25. using Foo::blah;
  26. using Bar::blah;
  27. char *blah(char *x) { return x; }
  28. };
  29. %}