LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
visitor.hxx
Go to the documentation of this file.
1 
6 #ifndef ASSEM_VISITOR_HXX
7 # define ASSEM_VISITOR_HXX
8 
9 # include <misc/algorithm.hh>
10 # include <assem/visitor.hh>
11 # include <assem/fragment.hh>
12 
13 namespace assem
14 {
15 
16  template <template <typename> class Const>
18  {}
19 
20 
21  template <template <typename> class Const>
22  template <class E>
23  void
25  {
26  e->accept(*this);
27  }
28 
29 
30  template <template <typename> class Const>
31  void
33  operator()(typename Const<ProcFrag>::type&)
34  {
35  }
36 
37  template <template <typename> class Const>
38  void
40  operator()(typename Const<DataFrag>::type&)
41  {
42  }
43 
44  template <template <typename> class Const>
45  void
47  operator()(typename Const<Fragments>::type& frags)
48  {
49  misc::for_each(frags, *this);
50  }
51 
52 } // namespace assem
53 
54 #endif // !ASSEM_VISITOR_HXX