1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
%module xxx
%inline %{
namespace std {
template<typename T> class vector {};
}
template<typename T> void Func() {}
%}
%inline %{
// Class template
template class std::vector<int>; // C++03 template explicit instantiation definition in C++
extern template class std::vector<int>; // C++11 template explicit instantiation declaration (extern template)
%}
%template(VectorInt) std::vector<int>; // SWIG template instantiation
%inline %{
// Function template
template void Func<int>(); // C++03 template explicit instantiation definition in C++
extern template void Func<int>(); // C++11 template explicit instantiation declaration (extern template)
%}
%template(FuncInt) Func<int>; // SWIG template instantiation
|