visit.h 253 B

12345678910111213141516171819202122
  1. #ifndef _VISITOR_HPP_
  2. #define _VISITOR_HPP_
  3. template<typename T>
  4. struct visitor
  5. {
  6. virtual bool visit(T o)=0;
  7. virtual ~visitor(){}
  8. };
  9. template<typename T>
  10. struct acceptor
  11. {
  12. virtual void accept(visitor<T>&v)
  13. {
  14. }
  15. virtual ~acceptor(){}
  16. };
  17. #endif