#ifndef VARIABLE_H #define VARIABLE_H #include #include "Expression.h" template struct Variable : public Expression { Variable(const std::string& name) : _name(name) { } std::string name() const { return this->_name; } T eval(const std::map& values) const { return values.find(_name)->second; } private: const std::string _name; }; #endif