#ifndef TENSOR2D_H
#define TENSOR2D_H
template<typename T>
class Tensor2D {
private:
       int r;
       int c;
       t **date;
publice:
       Tensor2D(int rows, int cols)
       Tensor2D(const Tensor2D &other);
       Tensor2D operator=(const Tensor2D &other);
       ~Tensor2D();
       void set(int row, int col, const T& value);
       T get(int row, int col) const;
       int rows() const;
       int cols() const;
       std::pair<int,int> shape() const;
       T& operator()(int row, int col);
       T& operator() (int row, int col) const;
       
       T *operator[](int row);
       const T*operator[](int row) const;
       void print(void);
       };


#endif
