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