PageRenderTime 37ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
Swig | 36 lines | 29 code | 7 blank | 0 comment | 0 complexity | 8c55993155237cf174db67129e7640c9 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. %module abstract_access
  2. %warnfilter(SWIGWARN_LANG_DIRECTOR_ABSTRACT) A;
  3. %inline %{
  4. class A {
  5. public:
  6. virtual ~A()
  7. {
  8. }
  9. private:
  10. virtual int x() = 0;
  11. protected:
  12. virtual int y() = 0;
  13. public:
  14. virtual int z() = 0;
  15. int do_x() { return x(); }
  16. };
  17. class B : public A {
  18. private:
  19. virtual int x() { return y(); }
  20. };
  21. class C : public B {
  22. protected:
  23. virtual int y() { return z(); }
  24. };
  25. class D : public C {
  26. private:
  27. virtual int z() { return 1; }
  28. };
  29. %}