1234567891011121314151617181920212223242526272829303132333435 |
- #ifndef MDD_IINPUT_H
- #define MDD_IINPUT_H
- //#include "json.hpp"
- #include <memory>
- #include "IOutput.h"
- #include "IUnique.h"
- #include "IState.h"
- #include "IConnection.h"
- #include "IOptimizable.h"
- #include <vector>
- namespace mdd{
- struct limits {
- std::vector<double> min;
- std::vector<double> max;
- std::vector<double> step;
- std::string rule;
- std::vector<std::vector<double>> elements;
- };
- class IInput
- : public IUnique
- , public IState
- , public IConnection<IOutput>
- , public IOptimizable
- {
- public:
- virtual const limits& getLimits() = 0;
- virtual limits& setLimits() = 0;
- virtual std::shared_ptr<IOutput> getConnection() = 0;
- virtual ~IInput() = default;
- };
- }
- #endif
|