I'm seeing, what appears to me anyhow, rather strange behaviour with
is_const and remove_const etc when used with arrays.
With VC71 and a recent cvs I see...
is_same::type,int[1]>::value; // true
is_const::value; // false
??
is_same::type,int[1][1]>::value; // false
??
is_same::type,const int[1][1]>::value; // true
is_const::value; // false
??
is_volatile::value; //
false ??
is_same::type,int[1][1]>::value; //
false ??
is_same::type,volatile int[1][1]>::value; //
true
Using Comeau 4.3.3;
is_same::type,int[1]>::value; // true
is_const::value; // true
is_same::type,int[1][1]>::value; // false
??
is_same::type,const int[1][1]>::value; // true
is_const::value; // true
is_volatile::value; //
true
is_same::type,int[1][1]>::value; //
false ??
is_same::type,volatile int[1][1]>::value; //
true
Regards,
Richard.