^Looks interesting.. I'll have to look over it more when I have time this weekend.
Another question...
Is there something special with templates? By special, I mean some sort of conversion... because when I took the C2DMatrix class you wrote, and changed it from a template to type 'int', I can no longer execute:
Code:
object start; //so start.array is hardcoded to be of type 'int'
start.array(1,1) = 1;
I get a "error: non-lvalue in assignment" error.