IOptimizer.h 518 B

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