+ template <class F> void register_actor(const std::string& name)
+ {
+ kernel::actor::ActorCodeFactory code_factory = [](std::vector<std::string> args) {
+ return kernel::actor::ActorCode([args = std::move(args)]() mutable {
+ F code(std::move(args));
+ code();
+ });
+ };
+ register_function(name, code_factory);
+ }
+ template <class F> void register_actor(const std::string& name, F code)
+ {
+ kernel::actor::ActorCodeFactory code_factory = [code](std::vector<std::string> args) {
+ return kernel::actor::ActorCode([code, args = std::move(args)]() mutable { code(std::move(args)); });
+ };
+ register_function(name, code_factory);
+ }