#ifndef FP_FO_ADAPTER_HPP #define FP_FO_ADAPTER_HPP #include "optimizer.hpp" namespace opt_utilities { template class fp_fo_adapter :public func_obj { private: fp_fo_adapter(); rT (*fp)(const pT&); public: fp_fo_adapter(rT (*_fp)(const pT&)) :fp(_fp) {} fp_fo_adapter* do_clone()const { return new fp_fo_adapter(*this); } rT do_eval(const pT& x) { return fp(x); } }; }; #endif