PageRenderTime 34ms CodeModel.GetById 24ms app.highlight 8ms RepoModel.GetById 0ms app.codeStats 0ms

/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%}