#ifndef EXPRESSION_FACTORY_HPP #define EXPRESSION_FACTORY_HPP #include "Expression.hpp" template struct ExpressionFactory { ExpressionFactory() : id(0) { } Expression createExpression(Operator* op, std::vector< Expression > args) { return Expression(id++, op, args); } unsigned int count() const { return id; } private: unsigned int id; }; #endif