#pragma once #include "json.hpp" #include #include "IManager.h" namespace mdd { class IOptimizer : public IManager { public: typedef std::shared_ptr Ptr; virtual bool connect(std::shared_ptr module) = 0; virtual bool setEvaluation(std::string func) = 0; virtual bool setRestriction(std::string func) = 0; virtual double update() = 0; virtual void attachCallback(std::function callback) = 0; virtual json getPermutations() = 0; }; }