void pack_arg(message& msg, Arg&& arg, Args&&... args) { msg.put(arg); pack_arg(msg, std::forward<Args>(args)...); }
inline void send(actor_id const& aid, char const (&type)[TypeSize], Args&&... args) { auto msg = make<message>(a_->get_buffer_pool(), type, a_->get_actor_id()); pack_arg(msg, std::forward<Args>(args)...); a_->send(aid, msg); }
OI pack_arg( OI oi_, V v, ARG... arg ) { *oi_++ = v; return pack_arg( oi_, arg... ); }