The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
5fcae5eb66
commit
12a43edc2d
1508 changed files with 125983 additions and 44037 deletions
40
Examples/test-suite/template_specialization.i
Normal file
40
Examples/test-suite/template_specialization.i
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
%module template_specialization
|
||||
|
||||
%rename(__not__) *::operator!() const;
|
||||
|
||||
#ifdef SWIGJAVA
|
||||
%rename(negate) *::operator-() const;
|
||||
#endif
|
||||
|
||||
%inline %{
|
||||
|
||||
namespace vfncs {
|
||||
|
||||
template <class ArgType>
|
||||
struct UnaryFunction
|
||||
{
|
||||
UnaryFunction operator-() const { return *this; }
|
||||
};
|
||||
|
||||
template <>
|
||||
struct UnaryFunction<bool>
|
||||
{
|
||||
// This works
|
||||
// UnaryFunction<bool> operator!() const;
|
||||
|
||||
// This doesn't
|
||||
UnaryFunction operator!() const { return *this; }
|
||||
|
||||
// Does this?
|
||||
void foo(UnaryFunction) { }
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
%}
|
||||
|
||||
namespace vfncs {
|
||||
|
||||
%template(UnaryFunction_double) UnaryFunction<double>;
|
||||
%template(UnaryFunction_bool) UnaryFunction<bool>;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue