#pragma once #include #include "CFunctionBase.h" template class CFunction : public virtual CFunctionBase { public: CFunction(const std::function& _func) : Function(_func) {} ReturnValue Call(Args... args) const override { return Function(args...); } bool IsValid() const override { return (bool)Function; } std::function Function; };