2012-12-17 22:59:16 +00:00
|
|
|
/*
|
|
|
|
* Visitor.h
|
|
|
|
*
|
|
|
|
* Created on: Dec 17, 2012
|
|
|
|
* Author: att
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef VISITOR_H_
|
|
|
|
#define VISITOR_H_
|
2012-12-18 21:41:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
class Visitable;
|
2012-12-17 22:59:16 +00:00
|
|
|
|
|
|
|
class Visitor {
|
|
|
|
public:
|
|
|
|
Visitor();
|
2012-12-18 21:41:39 +00:00
|
|
|
virtual void visit(Visitable * node) = 0;
|
2012-12-17 22:59:16 +00:00
|
|
|
virtual ~Visitor();
|
|
|
|
};
|
|
|
|
|
2012-12-18 21:41:39 +00:00
|
|
|
class Visitable
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
Visitable();
|
|
|
|
virtual void accept(Visitor * visitor) = 0;
|
|
|
|
virtual ~Visitable();
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-12-17 22:59:16 +00:00
|
|
|
#endif /* VISITOR_H_ */
|