35 template<
class T,
class... constructor_args_t>
48 template<
class _T,
class... _constructor_args_t>
53 using original_pointer_type =
typename super::original_pointer_type;
54 using element_type =
typename super::element_type;
55 using pointer =
typename super::pointer;
56 using reference =
typename super::reference;
64 requires std::constructible_from<std::shared_ptr<T>, std::shared_ptr<U>&&>
69 original_pointer_type to_shared_ptr();
72 template<
class... constructor_args_t>
requires(same_variadic_args_v< args_t... >) const expr auto coalesce(args_t &&... args)
Coalesce function, C# a ?? b analogue.
shared_ref< T > make_shared_ref(constructor_args_t &&... args)
Make a unique ref (same as std::make_shared but for qx::shared_ref)