6 #ifndef MOTORCORTEX_CORE_UTL_FNCWRAPPER_H
7 #define MOTORCORTEX_CORE_UTL_FNCWRAPPER_H
13 virtual void call() = 0;
15 virtual ~ImplBase() {}
18 std::unique_ptr<ImplBase> impl;
21 struct ImplType : ImplBase {
24 ImplType(F&& f_) : f(std::move(f_)) {}
33 void operator()() { impl->call(); }
40 impl = std::move(other.impl);
51 #endif // MOTORCORTEX_CORE_UTL_FNCWRAPPER_H