35 lines
731 B
Perl
35 lines
731 B
Perl
|
|
use Inline SWIG => <<"END_CODE", SWIG_ARGS => '-c++ -proxy', CC => 'g++', LD=>'g++';
|
||
|
|
class Foo {
|
||
|
|
public:
|
||
|
|
int meaning() { return 42; };
|
||
|
|
};
|
||
|
|
END_CODE
|
||
|
|
|
||
|
|
my $o = new Foo();
|
||
|
|
print $o->meaning(),"\n";
|
||
|
|
|
||
|
|
use Inline SWIG => ' ', SWIG_INTERFACE => <<"END_CODE", SWIG_ARGS => '-c++', CC => "g++", LD => "g++";
|
||
|
|
%include std_string.i
|
||
|
|
%inline {
|
||
|
|
template <class Type>
|
||
|
|
class Bar {
|
||
|
|
Type _val;
|
||
|
|
public:
|
||
|
|
Bar(Type v) : _val(v) {}
|
||
|
|
Type meaning() { return _val; }
|
||
|
|
};
|
||
|
|
}
|
||
|
|
%template(Bar_i) Bar<int>;
|
||
|
|
%template(Bar_d) Bar<double>;
|
||
|
|
%template(Bar_s) Bar<std::string>;
|
||
|
|
END_CODE
|
||
|
|
|
||
|
|
my $o = new Bar_i(1);
|
||
|
|
print $o->meaning(),"\n";
|
||
|
|
|
||
|
|
my $o = new Bar_d(2);
|
||
|
|
print $o->meaning(),"\n";
|
||
|
|
|
||
|
|
my $o = new Bar_s("hello");
|
||
|
|
print $o->meaning(),"\n";
|