FunctorWrapper(Function lambda, bool exactly = false) : _exactly(exactly) { // using decltype to new a corresponding std::function with lambda auto function = new decltype(to_function(lambda))(to_function(lambda)); _functor.function = static_cast<void *>(function); _functor.signature = &typeid(function); }
static Proxy_Function go(T t) { /// \todo is it possible to reduce the number of templates generated here? return Proxy_Function( new Proxy_Function_Impl<typename FunctionSignature<decltype(to_function(t)) >::Signature>(to_function(t))); }