blob: 98e66e3c46698f72f2adf676efe50dd78cc21c61 [file] [log] [blame]
%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;
%}