18 template<
class lambda_t>
 
   23     template<
class... args_t>
 
   24     decltype(
auto) operator()(args_t&&... args)
 
   26         return lambda(*
this, std::forward<args_t>(args)...);
 
   29     template<
class... args_t>
 
   30     decltype(
auto) operator()(args_t&&... args)
 const 
   32         return lambda(*
this, std::forward<args_t>(args)...);
 
   58 template<
class lambda_t>
 
   61     return { std::forward<lambda_t>(lambda) };
 
recursive_lambda< std::decay_t< lambda_t > > make_recursive_lambda(lambda_t &&lambda)
Create lambda that can be called recursively.