import source from 1.3.40
[external/swig.git] / Examples / test-suite / input.i
1 %module input
2
3 %apply int *INPUT {int *bar};
4
5 %typemap(out, fragment=SWIG_From_frag(int)) int *foo {
6   if ($1) {
7     $result = SWIG_From(int)(*$1);
8   } else {
9     $result = SWIG_Py_Void();
10   }
11 }
12
13 %inline 
14 {
15   struct Foo {
16     int *foo(int *bar = 0) {
17       if (bar) {
18         *bar *= 2;
19       }
20       return (bar) ? bar : 0;
21     }
22   };
23 }
24
25 %include std_string.i
26 %apply std::string *INPUT {std::string *bar};
27
28 %typemap(out, fragment=SWIG_From_frag(std::string)) std::string *sfoo {
29   if ($1) {
30     $result = SWIG_From(std::string)(*$1);
31   } else {
32     $result = SWIG_Py_Void();
33   }
34 }
35
36 %inline %{
37   std::string *sfoo(std::string *bar = 0) {
38     if (bar) *bar += " world";
39     return (bar) ? bar : 0;
40   }
41 %}