|
template<typename T, typename Deleter = std::default_delete<T>> |
static _unique< T, Deleter > | make_unique_with_deleter (T *ptr, Deleter deleter=Deleter{}) |
| Creates unique_ptr from raw pointer and a deleter.
|
|
template<typename T> |
static _< T > | manage (T *raw) |
| Delegates memory management of the raw pointer T* raw to the shared pointer, which is returned.
|
|
template<typename T, typename Deleter> |
static _< T > | manage (T *raw, Deleter deleter) |
| Delegates memory management of the raw pointer T* raw to the shared pointer, which is returned.
|
|
template<typename T> |
static _unique< T > | unique (T *raw) |
| Delegates memory management of the raw pointer T* raw to the unique pointer, which is returned.
|
|
template<typename T> |
static _< T > | fake (T *raw) |
| Creates fake shared pointer to T* raw with empty destructor, which does nothing. It's useful when some function accept shared pointer but you have only raw one.
|
|
template<typename T, typename Deleter = std::default_delete<T>>
static _unique< T, Deleter > aui::ptr::make_unique_with_deleter |
( |
T * | ptr, |
|
|
Deleter | deleter = Deleter{} ) |
|
inlinestatic |
unique_ptr
could not deduce T and Deleter by itself. Use this function to avoid this restriction. By using this function, lifetime of the pointer is delegated to std::unique_ptr. The wrapped pointer will be freed by specified Deleter. Default deleter is std::default_delete. You may want to specialize std::default_delete<T>
struct in order to specify default deleter for T, in this case you can omit deleter argument of this function.