import source from 1.3.40
[external/swig.git] / Examples / test-suite / director_ignore.i
1 %module(directors="1") director_ignore
2
3 %warnfilter(SWIGWARN_LANG_DIRECTOR_ABSTRACT) DIgnoreOnlyConstructor;
4
5 %include "std_string.i"
6
7 %feature("director");
8
9 %ignore OverloadedMethod(int n, int xoffset = 0, int yoffset = 0);
10 %ignore OverloadedProtectedMethod(int n, int xoffset = 0, int yoffset = 0);
11 %ignore DIgnoreConstructor(bool b);
12 %ignore DIgnoreOnlyConstructor(bool b);
13 %ignore Pointers;
14 %ignore References;
15 %ignore PublicMethod1;
16 %ignore PublicMethod2;
17 %ignore PublicPureVirtualMethod1;
18 %ignore PublicPureVirtualMethod2;
19 %ignore ProtectedMethod1;
20 %ignore ProtectedMethod2;
21 %ignore ProtectedPureVirtualMethod1;
22 %ignore ProtectedPureVirtualMethod2;
23
24 %inline %{
25
26 #include <string>
27 class DIgnores
28 {
29   public:
30     virtual ~DIgnores() {}
31     virtual void OverloadedMethod(int n, int xoffset = 0, int yoffset = 0) {}
32     virtual void OverloadedMethod(bool b) {}
33     virtual int Triple(int n) { return n*3; }
34     virtual int& References(int& n) { static int nn; nn=n; return nn; }
35     virtual int* Pointers(int* n) { static int nn; nn=*n; return &nn; }
36     virtual double PublicMethod1() { return 0.0; }
37     virtual double PublicPureVirtualMethod1() = 0;
38     virtual void PublicMethod2() {}
39     virtual void PublicPureVirtualMethod2() = 0;
40     virtual void TempMethod() = 0;
41   protected:
42     virtual void OverloadedProtectedMethod(int n, int xoffset = 0, int yoffset = 0) {}
43     virtual void OverloadedProtectedMethod() {}
44     virtual double ProtectedMethod1() { return 0.0; }
45     virtual double ProtectedPureVirtualMethod1() = 0;
46     virtual void ProtectedMethod2() {}
47     virtual void ProtectedPureVirtualMethod2() = 0;
48 };
49
50 class DAbstractIgnores
51 {
52   public:
53     virtual ~DAbstractIgnores() {}
54     virtual double OverloadedMethod(int n, int xoffset = 0, int yoffset = 0) = 0;
55     virtual double OverloadedMethod(bool b) = 0;
56     virtual int Quadruple(int n) { return n*4; }
57     virtual int& References(int& n) { static int nn; nn=n; return nn; }
58     virtual int* Pointers(int* n) { static int nn; nn=*n; return &nn; }
59   protected:
60     virtual double OverloadedProtectedMethod(int n, int xoffset = 0, int yoffset = 0) = 0;
61     virtual double OverloadedProtectedMethod() = 0;
62 };
63
64 class DIgnoreConstructor
65 {
66   public:
67     virtual ~DIgnoreConstructor() {}
68     DIgnoreConstructor(std::string s, int i) {}
69     DIgnoreConstructor(bool b) {}
70 };
71
72 class DIgnoreOnlyConstructor
73 {
74   public:
75     virtual ~DIgnoreOnlyConstructor() {}
76     DIgnoreOnlyConstructor(bool b) {}
77 };
78
79 template <typename T> class DTemplateAbstractIgnores
80 {
81   T t;
82   public:
83     virtual ~DTemplateAbstractIgnores() {}
84     virtual double OverloadedMethod(int n, int xoffset = 0, int yoffset = 0) = 0;
85     virtual double OverloadedMethod(bool b) = 0;
86     virtual int Quadruple(int n) { return n*4; }
87     virtual int& References(int& n) { static int nn; nn=n; return nn; }
88     virtual int* Pointers(int* n) { static int nn; nn=*n; return &nn; }
89   protected:
90     virtual double OverloadedProtectedMethod(int n, int xoffset = 0, int yoffset = 0) = 0;
91     virtual double OverloadedProtectedMethod() = 0;
92 };
93 %}
94
95 %template(DTemplateAbstractIgnoresInt) DTemplateAbstractIgnores<int>;
96