LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
decs-list.hh
Go to the documentation of this file.
1 
6 #ifndef AST_DECS_LIST_HH
7 # define AST_DECS_LIST_HH
8 
9 # include <ast/ast.hh>
10 
11 namespace ast
12 {
13 
15  class DecsList : public Ast
16  {
17  public:
18  typedef std::list<Decs*> decs_type;
19 
21  void push_front(Decs* d);
23  void push_back(Decs* d);
24 
26  void splice_front(DecsList& ds);
28  void splice_back(DecsList& ds);
29 
31  DecsList(const Location& location);
32 
35  public:
37  DecsList(const Location& location, const DecsList::decs_type& decs);
39  virtual ~DecsList();
42 
43 
44  public:
46  virtual void accept(ConstVisitor& v) const override;
48  virtual void accept(Visitor& v) override;
50 
53  public:
55  const DecsList::decs_type& decs_get() const;
60  protected:
63  };
64 
65 } // namespace ast
66 
67 # include <ast/decs-list.hxx>
68 
69 #endif // !AST_DECS_LIST_HH