1
/* Copyright 2008 Simon Richter <Simon.Richter@hogyros.de>
3
* Released under the GNU General Public Licence version 3.
6
#include "intrusive_ptr.hpp"
8
#ifndef dammit_visitor_hpp_
9
#define dammit_visitor_hpp_ 1
18
class configuration_node;
25
class environment_node;
32
virtual ~visitor(void) throw() { }
34
virtual intrusive_ptr<node> visit(parallel_node &) = 0;
36
virtual intrusive_ptr<node> visit(project_node &) = 0;
37
virtual intrusive_ptr<node> visit(configuration_node &) = 0;
39
virtual intrusive_ptr<node> visit(input_node &) = 0;
40
virtual intrusive_ptr<node> visit(temporary_node &) = 0;
41
virtual intrusive_ptr<node> visit(output_node &) = 0;
43
virtual intrusive_ptr<node> visit(tool_node &) = 0;
44
virtual intrusive_ptr<node> visit(environment_node &) = 0;
46
virtual intrusive_ptr<node> visit(action_node &) = 0;