#ifndef PARSER_SRC_NODE_H_ #define PARSER_SRC_NODE_H_ #include #include #include #include "nodes.h" namespace SimpleParser { typedef std::vector> NodeCollection; class Tree { public: explicit Tree(std::string); Tree(std::string, const ConstantMap*); double solve(); std::string print(); private: template Node* addNode(Node**, Args&&... args); Node* buildTree(std::string); std::string term_; Node* root_node_; NodeCollection node_collection_; const ConstantMap* constants_; }; } #endif // PARSER_SRC_NODE_H_