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

# · Swig · 40 lines · 32 code · 8 blank · 0 comment · 0 complexity · 45f0d34eb41c3235cb3cea647408c807 MD5 · raw file

  1. %module(directors="1") director_unroll
  2. %{
  3. #include <string>
  4. class Foo {
  5. public:
  6. virtual ~Foo() {}
  7. virtual std::string ping() { return "Foo::ping()"; }
  8. virtual std::string pong() { return "Foo::pong();" + ping(); }
  9. };
  10. class Bar {
  11. private:
  12. Foo *foo;
  13. public:
  14. void set(Foo *x) { foo = x; }
  15. Foo *get() { return foo; }
  16. };
  17. %}
  18. %include "std_string.i"
  19. %feature("director") Foo;
  20. class Foo {
  21. public:
  22. virtual ~Foo() {}
  23. virtual std::string ping() { return "Foo::ping()"; }
  24. virtual std::string pong() { return "Foo::pong();" + ping(); }
  25. };
  26. class Bar {
  27. private:
  28. Foo *foo;
  29. public:
  30. void set(Foo *x) { foo = x; }
  31. Foo *get() { return foo; }
  32. };