mjplusplus  v0.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Node.hpp
Go to the documentation of this file.
1 #ifndef NODE_HPP
2 #define NODE_HPP
3 
4 #include "../globals.hpp"
5 #include <iostream>
6 #include <memory>
7 #include <string>
8 #include "ASTVisitor.hpp"
9 
10 namespace ast
11 {
12  class Node : public std::enable_shared_from_this<Node>
13  {
14  public:
23  virtual void toString(std::ostream& out, unsigned int indent, bool special = false) const = 0;
24  // TODO: Make pure virtual
25  virtual void accept(ASTVisitor& visitor) const;
26  };
27 }
28 
29 #endif
Definition: ASTVisitor.hpp:75
Definition: Arguments.hpp:9
virtual void toString(std::ostream &out, unsigned int indent, bool special=false) const =0
virtual void accept(ASTVisitor &visitor) const
Definition: Node.cpp:3
Definition: Node.hpp:12