import source from 1.3.40
[external/swig.git] / Examples / test-suite / apply_signed_char.i
1 /* Test %apply for char */
2
3 %module(directors="1") apply_signed_char
4
5 %warnfilter(SWIGWARN_TYPEMAP_THREAD_UNSAFE,SWIGWARN_TYPEMAP_DIRECTOROUT_PTR) DirectorTest;
6
7 %apply signed char {char, const char};
8 %apply const signed char & {const char &};
9
10 %inline %{
11   char CharValFunction(char number) { return number; }
12   const char CCharValFunction(const char number) { return number; }
13   const char & CCharRefFunction(const char & number) { return number; }
14   char globalchar = -109;
15   const char globalconstchar = -110;
16 %}
17
18 // Director test
19 %feature("director");
20
21 %inline %{
22   struct DirectorTest {
23
24     DirectorTest() : memberchar(-111), memberconstchar(-112) {}
25
26     virtual char CharValFunction(char number) { return number; }
27     virtual const char CCharValFunction(const char number) { return number; }
28     virtual const char & CCharRefFunction(const char & number) { return number; }
29
30     char memberchar;
31     const char memberconstchar;
32
33     virtual ~DirectorTest() {}
34   private:
35     DirectorTest& operator=(const DirectorTest &);
36   };
37 %}