git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10398 626c5289-ae23-0410-ae9c-e8d60b6d4f22
34 lines
731 B
Perl
34 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";
|