A.template<typenameT>voidswap(Ta[],Tb[],intsize);
B.template<typenameT>voidswap(intsize,Ta[],Tb[]);
C.template<typenameT1,typenameT2>voidswap(T1a[],T2b[],intsize);
D.template<classT1,classT2>voidswap(T1all,T2b[],intsize);