#ifndef DEF_CELL #define DEF_CELL /* Cell.h * Defines the class Cell * A cell represents a cell in the grid * Creators : krilius, manzerbredes * Date : 29/04/2015 */ #include template class Cell { private: T* m_Element; public: //Constructor Cell(std::string value) { m_Element=new T(); m_Element->setValue(value); } //Destructor ~Cell() { delete m_Element; } //Test if the cell is empty bool isEmpty() { return this->m_Element->isEmpty(); } T* getElement(){ return this->m_Element; } bool equals(Cell *cell){ if(m_Element->equals(cell->getElement())){ return true; } return false; } //Return the element value std::string getElementValue() { return m_Element->getValue(); } // Description std::string description() { return m_Element->description(); } }; template bool operator==(Cell a, Cell b){ return a.equals(&b); } #endif