mirror of https://github.com/swig/swig
42 lines
808 B
OpenEdge ABL
42 lines
808 B
OpenEdge ABL
%module template_base_template
|
|
|
|
%warnfilter(SWIGWARN_RUBY_WRONG_NAME) traits<double, double>; /* Ruby, wrong class name */
|
|
|
|
%warnfilter(SWIGWARN_PARSE_EXPLICIT_TEMPLATE);
|
|
|
|
%inline %{
|
|
template <class ArgType, class ResType>
|
|
struct traits
|
|
{
|
|
typedef ArgType arg_type;
|
|
typedef ResType res_type;
|
|
};
|
|
|
|
template <class ArgType, class ResType>
|
|
struct Funktion
|
|
{
|
|
};
|
|
|
|
// Egad!
|
|
template <class AF, class AG>
|
|
struct Klass
|
|
: Funktion<typename traits<AF, AG>::arg_type,
|
|
typename traits<AF, AG>::res_type>
|
|
{
|
|
};
|
|
%}
|
|
|
|
%{
|
|
template struct Funktion <double, double>;
|
|
template struct Klass <double, double>;
|
|
%}
|
|
|
|
%template(traits_dd) traits <double, double>;
|
|
%template(Funktion_dd) Funktion <double, double>;
|
|
%template(Klass_dd) Klass <double, double>;
|
|
|
|
|
|
|
|
|
|
|