LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
visitor.hh
Go to the documentation of this file.
1 
6 #ifndef ASSEM_VISITOR_HH
7 # define ASSEM_VISITOR_HH
8 
9 # include <misc/select-const.hh>
10 # include <assem/fwd.hh>
11 
12 namespace assem
13 {
14 
15  template <template <typename> class Const>
16  class GenVisitor
17  {
20  public:
22  virtual ~GenVisitor();
25  public:
27  virtual void operator()(typename Const<ProcFrag>::type& a);
29  virtual void operator()(typename Const<DataFrag>::type& a);
31  template <class E>
32  void operator()(E* e);
33 
35  virtual void operator()(typename Const<Fragments>::type& fs);
36  };
37 
42 
43 } // namespace assem
44 
45 # include <assem/visitor.hxx>
46 
47 #endif // !ASSEM_VISITOR_HH