#ifndef jk_FUNCTION_HPP #define jk_FUNCTION_HPP #include "commons.hpp" namespace jk { class Value; using value_t = std::shared_ptr; using foreign_t = std::function)>; class Function { public: explicit Function(foreign_t foreign); virtual ~Function(); value_t call(std::vector const& args); private: foreign_t m_foreign; }; } #endif