void assign(type x) { if (impl_.unsafe() && !x.unsafe()) new_self(x); if (!impl_.unsafe() && x.unsafe()) self_.~scoped_actor(); impl_.swap(x); }
function_view(const type& impl, duration rel_timeout = infinite) : timeout(rel_timeout), impl_(impl) { new_self(impl_); }
function_view(const type& impl) : impl_(impl) { new_self(impl_); }