13 template<
class T,
class... constructor_args_t>
18 std::make_shared<T>(std::forward<constructor_args_t>(args)...));
26 requires std::constructible_from<std::shared_ptr<T>, std::shared_ptr<U>&&>
27 smart_ptr_ref_adapter<std::shared_ptr, T>::smart_ptr_ref_adapter(
28 smart_ptr_ref_adapter<std::shared_ptr, U>&& other) noexcept
29 : super(
static_cast<std::shared_ptr<U>&&
>(other))
34 void smart_ptr_ref_adapter<std::shared_ptr, T>::reset(smart_ptr_ref_adapter other) noexcept
36 *
this = std::move(other);
40 typename smart_ptr_ref_adapter<std::shared_ptr, T>::original_pointer_type smart_ptr_ref_adapter<std::shared_ptr, T>::
47 template<
class... constructor_args_t>
48 smart_ptr_ref_adapter<std::shared_ptr, T>::smart_ptr_ref_adapter(private_token, constructor_args_t&&... args)
49 : super(std::forward<constructor_args_t>(args)...)
shared_ref< T > make_shared_ref(constructor_args_t &&... args)
Make a unique ref (same as std::make_shared but for qx::shared_ref)