mirror of https://github.com/swig/swig
42 lines
691 B
OpenEdge ABL
42 lines
691 B
OpenEdge ABL
%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 = VOID_Object;
|
|
}
|
|
}
|
|
|
|
%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 = VOID_Object;
|
|
}
|
|
}
|
|
|
|
%inline %{
|
|
std::string *sfoo(std::string *bar = 0) {
|
|
if (bar) *bar += " world";
|
|
return (bar) ? bar : 0;
|
|
}
|
|
%}
|