19 #ifndef MIRAL_LAMBDA_AS_FUNCTION_H
20 #define MIRAL_LAMBDA_AS_FUNCTION_H
30 template<
typename Lambda,
typename Return,
typename... Arg>
31 struct FunctionType<Return (Lambda::*)(Arg...)> {
using type = std::function<Return(Arg...)>; };
33 template<
typename Lambda,
typename Return,
typename... Arg>
34 struct FunctionType<Return (Lambda::*)(Arg...) const> {
using type = std::function<Return(Arg...)>; };
37 template<
typename Lambda>
40 return typename detail::FunctionType<decltype(&Lambda::operator())>::type(std::forward<Lambda>(lambda));
44 #endif //MIRAL_LAMBDA_AS_FUNCTION_H