| %module input |
| |
| %apply int *INPUT {int *bar}; |
| |
| %typemap(out, fragment=SWIG_From_frag(int)) int *foo { |
| if ($1) { |
| $result = SWIG_From(int)(*$1); |
| } else { |
| $result = SWIG_Py_Void(); |
| } |
| } |
| |
| %inline |
| { |
| struct Foo { |
| int *foo(int *bar = 0) { |
| if (bar) { |
| *bar *= 2; |
| } |
| return (bar) ? bar : 0; |
| } |
| }; |
| } |
| |
| %include std_string.i |
| %apply std::string *INPUT {std::string *bar}; |
| |
| %typemap(out, fragment=SWIG_From_frag(std::string)) std::string *sfoo { |
| if ($1) { |
| $result = SWIG_From(std::string)(*$1); |
| } else { |
| $result = SWIG_Py_Void(); |
| } |
| } |
| |
| %inline %{ |
| std::string *sfoo(std::string *bar = 0) { |
| if (bar) *bar += " world"; |
| return (bar) ? bar : 0; |
| } |
| %} |