Module |
|
Header |
/Engine/Source/Runtime/Core/Public/Templates/UniquePtr.h |
Include |
#include "Templates/UniquePtr.h" |
template<typename T>
struct TDefaultDelete
Single-ownership smart pointer in the vein of std::unique_ptr. Use this when you need an object's lifetime to be strictly bound to the lifetime of a single smart pointer.
This class is non-copyable - ownership can only be transferred via a move operation, e.g.:
TUniquePtr<MyClass> Ptr1(new MyClass); // The MyClass object is owned by Ptr1. TUniquePtr<MyClass> Ptr2(Ptr1); // Error - TUniquePtr is not copyable TUniquePtr<MyClass> Ptr3(MoveTemp(Ptr1)); // Ptr3 now owns the MyClass object - Ptr1 is now nullptr.
If you provide a custom deleter, it is up to your deleter to handle null pointers. This is a departure from std::unique_ptr which will not invoke the deleter if the owned pointer is null: https://en.cppreference.com/w/cpp/memory/unique_ptr/~unique_ptr
Name | Description | |
---|---|---|
|
TDefaultDelete() |
|
|
TDefaultDelete ( |
|
|
TDefaultDelete ( |
Name | Description | |
---|---|---|
|
~TDefaultDelete() |
Name | Description | ||
---|---|---|---|
|
const FTypeL... |
GetTypeLayout() |
|
|
FTypeLayoutD... |
StaticGetTypeLayout() |
Name | Description | ||
---|---|---|---|
|
operator() ( |
||
|
TDefaultDele... |
operator= ( |
|
|
TDefaultDele... |
operator= ( |
Name |
Description |
|
---|---|---|
|
InternalLinkType |
Name |
Description |
---|---|
DerivedType |
|
InternalBaseType |
Name |
Description |
---|---|
CounterBase |
|
InterfaceType |