PageRenderTime 27ms CodeModel.GetById 0ms RepoModel.GetById 1ms app.codeStats 0ms

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

#
Swig | 81 lines | 61 code | 20 blank | 0 comment | 0 complexity | 4371679d60c160e1cd02215ac9dfdcf6 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. %module extend_typedef_class
  2. // classes in global namespace
  3. %inline %{
  4. typedef struct tagAClass {
  5. int membervar;
  6. } AClass;
  7. struct BClass {
  8. int membervar;
  9. };
  10. typedef struct tagCClass {
  11. int membervar;
  12. } CClass;
  13. // Unnamed struct
  14. typedef struct {
  15. int membervar;
  16. } DClass;
  17. %}
  18. %extend tagAClass {
  19. int getvar() { return $self->membervar; }
  20. }
  21. %extend BClass {
  22. int getvar() { return $self->membervar; }
  23. }
  24. %extend CClass {
  25. int getvar() { return $self->membervar; }
  26. }
  27. %extend DClass {
  28. int getvar() { return $self->membervar; }
  29. }
  30. // classes in a namespace
  31. %inline %{
  32. namespace Space {
  33. typedef struct tagAStruct {
  34. int membervar;
  35. } AStruct;
  36. struct BStruct {
  37. int membervar;
  38. };
  39. typedef struct tagCStruct {
  40. int membervar;
  41. } CStruct;
  42. // Unnamed struct
  43. typedef struct {
  44. int membervar;
  45. } DStruct;
  46. }
  47. %}
  48. namespace Space {
  49. %extend tagAStruct {
  50. int getvar() { return $self->membervar; }
  51. }
  52. %extend BStruct {
  53. int getvar() { return $self->membervar; }
  54. }
  55. %extend CStruct {
  56. int getvar() { return $self->membervar; }
  57. }
  58. %extend DStruct {
  59. int getvar() { return $self->membervar; }
  60. }
  61. }