+ unsigned int sizeofColumn () const
+ { return (sizeof(T) * m_ny); }
+
+ unsigned int sizeofArray () const
+ { return (sizeof(T) * m_nx * m_ny); }
+
+
+ private:
+ unsigned int m_nx;
+ unsigned int m_ny;
+ T** array_data;
+
+ void allocArray ()
+ {
+ if (array_data)
+ deleteArray();
+
+ array_data = new T*[m_nx];
+
+ for (unsigned int i = 0; i < m_nx; i++)
+ array_data[i] = new T[m_ny];
+ }
+
+ void deleteArray ()
+ {
+ if (array_data) {
+ for (unsigned int i = 0; i < m_nx; i++)
+ delete array_data [i];
+ delete array_data;
+ array_data = NULL;
+ }
+ }
+