is there any "empirical knowledge" how much the maintainability will suffer, doing it the way you suggested???

my approach is to use:

ClassA< int > var1; ClassA< float > var2; etc...
for 1. dimensional data inside a grid, and

ClassA< ClassB<int> > var1; ClassA< ClassB<float> > var2; etc...
for x. dimensional data inside a grid.

templating both, the grid & the data inside would make my code very generic & thats exacly what I want to achieve.

regards