blob: 3371fda1cab2ff2fa7701a558e868ea219b49122 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#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 <iostream>
template<class T> 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<T> *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<class T>
bool operator==(Cell<T> a, Cell<T> b){
return a.equals(&b);
}
#endif
|