/tags/rel-1.3.35/Examples/test-suite/python/input.i
Swig | 41 lines | 35 code | 6 blank | 0 comment | 0 complexity | 3a775d0af78830a982ee9bb7d9d63f54 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
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%}