IOptimizer.h 478 B

123456789101112131415161718192021
  1. #ifndef IOPTIMIZER_H
  2. #define IOPTIMIZER_H
  3. #include "json.hpp"
  4. #include <IModule.h>
  5. #include "IManager.h"
  6. namespace mdd {
  7. class IOptimizer
  8. : public IManager
  9. {
  10. public:
  11. typedef std::shared_ptr<IOptimizer> Ptr;
  12. virtual bool connect(std::shared_ptr<IModule> module) = 0;
  13. virtual bool setEvaluation(std::string func) = 0;
  14. virtual double update() = 0;
  15. virtual void attachCallback(std::function<json(const json&)> callback) = 0;
  16. };
  17. }
  18. #endif // !IOPTIMIZER_H