25 template<
class T,
class deleter_t = std::default_delete<T>>
35 template<
class T,
class... constructor_args_t>
47 template<
class T,
class deleter_t,
class... constructor_args_t>
53 template<
class T,
class... args_t>
61 template<
class _T,
class... _constructor_args_t>
64 template<
class _T,
class _deleter_t,
class... _constructor_args_t>
67 _constructor_args_t&&... args);
71 using original_pointer_type =
typename super::original_pointer_type;
72 using element_type =
typename super::element_type;
73 using pointer =
typename super::pointer;
74 using reference =
typename super::reference;
79 template<
class U,
class other_deleter_t>
80 requires std::constructible_from<std::unique_ptr<T, args_t...>, std::unique_ptr<U, other_deleter_t>&&>
86 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.
unique_ref< T, deleter_t > make_unique_ref_with_deleter(deleter_t deleter, constructor_args_t &&... args)
Make a unique ref with a custom deleter.
unique_ref< T > make_unique_ref(constructor_args_t &&... args)
Make a unique ref (same as std::make_unique but for qx::unique_ref)