2017-04-04 13:37:46 -04:00
|
|
|
#ifndef GATE
|
|
|
|
#define GATE
|
2017-04-06 13:28:20 -04:00
|
|
|
class wire;
|
2017-04-04 13:37:46 -04:00
|
|
|
|
|
|
|
class gate {
|
2017-04-06 09:38:44 -04:00
|
|
|
public:
|
2017-04-06 13:28:20 -04:00
|
|
|
gate();
|
|
|
|
virtual int evaluate() = 0;
|
|
|
|
|
2017-04-06 09:38:44 -04:00
|
|
|
protected:
|
2017-04-10 18:57:03 -04:00
|
|
|
wire *in1, *in2, *out;
|
2017-04-06 13:28:20 -04:00
|
|
|
int delay;
|
2017-04-10 20:28:37 -04:00
|
|
|
priority_queue<event> *e;
|
2017-04-04 13:37:46 -04:00
|
|
|
};
|
|
|
|
|
2017-04-06 09:38:44 -04:00
|
|
|
#endif // !GATE
|