mirror of https://github.com/swig/swig
67 lines
1.2 KiB
OpenEdge ABL
67 lines
1.2 KiB
OpenEdge ABL
%module template_expr
|
|
|
|
// bug #925555
|
|
%inline %{
|
|
struct ThisType {};
|
|
template<int _size, int _stride, class __elementTypeSequence, class __dataPtrType>
|
|
class vctFixedLengthConstSequenceBase {};
|
|
|
|
template<int _size, int __stride, class __elementTypeSequence,
|
|
class __dataPtrType, class __elementType>
|
|
inline const ThisType &
|
|
ConcatenationOf(const vctFixedLengthConstSequenceBase<_size - 1,
|
|
__stride, __elementTypeSequence, __dataPtrType> & other,
|
|
__elementType last);
|
|
%}
|
|
|
|
// bug #956282
|
|
%inline %{
|
|
|
|
|
|
template<int q>
|
|
class X {};
|
|
|
|
|
|
%}
|
|
|
|
%template(X_1) X<1>;
|
|
%template(X_m1) X<-1>;
|
|
%template(X_1plus2) X<1+2>;
|
|
%template(X_1024div8) X<1024/8>;
|
|
|
|
|
|
// bug #646275
|
|
|
|
%inline %{
|
|
struct Ty {};
|
|
template<typename Type, short a> struct Test {};
|
|
template<int rank, typename X, typename Type> struct CondRetType {
|
|
typedef Type TestRm1;
|
|
};
|
|
|
|
template<typename Type, short Rank>
|
|
void Func(typename CondRetType< Rank!=1,
|
|
Test<Type,Rank-1>, Type>::TestRm1) {}
|
|
%}
|
|
|
|
|
|
// bug #994301
|
|
|
|
|
|
%inline %{
|
|
template<int foo> class X994301 {};
|
|
%}
|
|
|
|
%template(X994301_ternary) X<(7 >= 4) ? 1 + 1 : 1>;
|
|
%template(X994301_ternary2) X<(7 <= 4) ? 1 + 1 : 1>;
|
|
|
|
|
|
// bug #1338527 (still broken)
|
|
|
|
|
|
%inline %{
|
|
|
|
template<typename, typename> class PatchList;
|
|
|
|
%}
|