static void init(storage_type& storage,rvalue_source_type t) { storage.reset(new T(static_cast<rvalue_source_type>(t))); }
static void cleanup(storage_type& storage) { storage.reset(); }
static void init(storage_type& storage,source_reference_type t) { storage.reset(new T(t)); }