23 #ifndef CLOE_COMPONENT_ACTUATOR_HPP_ 24 #define CLOE_COMPONENT_ACTUATOR_HPP_ 26 #include <boost/optional.hpp> 32 template <
typename T =
double>
35 using Component::Component;
36 virtual ~
Actuator() noexcept =
default;
38 virtual void set(T a) { target_ = a; }
39 virtual bool is_set() {
return static_cast<bool>(target_); }
40 virtual T
get() {
return *target_; }
42 Json
active_state()
const override {
return Json{{
"target", target_}}; }
56 boost::optional<T> target_;
61 #endif // CLOE_COMPONENT_ACTUATOR_HPP_ Definition: actuator.hpp:33
void reset() override
Definition: actuator.hpp:50
Duration process(const Sync &sync) override
Definition: actuator.hpp:44
Definition: coordinator.hpp:36
Duration process(const Sync &sync) override
Definition: component.hpp:182
std::chrono::nanoseconds Duration
Definition: duration.hpp:45
Definition: component.hpp:144
void reset() override
Definition: component.hpp:187
Json active_state() const override
Definition: actuator.hpp:42