PageRenderTime 41ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
Swig | 40 lines | 32 code | 8 blank | 0 comment | 0 complexity | 45f0d34eb41c3235cb3cea647408c807 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  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. };