#ifndef EVAL_ADD_H #define EVAL_ADD_H #include "eval_op.h" typedef std::map> eval_op_proto_map; class eval_add: public eval_op { tensor compute(const tensor &a, const tensor &b); std::shared_ptr clone(const expression &expr) override; public: eval_add() {} eval_add(const expression &expr): eval_op(expr) {} void eval(vars_type &variables, const kwargs_type &kwargs) override; static void store_prototype(eval_op_proto_map &proto_map) { assert(proto_map.find("Add") == proto_map.end()); proto_map["Add"] = std::make_shared(); // where is expr? } }; // class eval_add #endif