Assuming your declarations are correct, just reapplying them I'll get
typedef CArray<gridproperty,gridproperty> GridPropertiesArray_t
CArray<GridPropertiesArray_t,GridPropertiesArray_t> GridPropertiesArrays;
Where
GridPropertiesArrays
is the object you need.
Note: in case you want to avoid typedefs, if your compiler is not fully C++0x compliant (or set up to compile as c++03), pay attention to let a space between two consecutive < and >