Navigation
API > API/Runtime > API/Runtime/Core
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
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 | TDefaultDelete |
| Type | struct |
| Header File | /Engine/Source/Runtime/Core/Public/Templates/UniquePtr.h |
| Include Path | #include "Templates/UniquePtr.h" |
Syntax
template<typename T>
struct TDefaultDelete
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Templates/UniquePtr.h | |||
TDefaultDelete
(
const TDefaultDelete& |
Templates/UniquePtr.h | ||
TDefaultDelete
(
const TDefaultDelete< U >& |
Templates/UniquePtr.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~TDefaultDelete() |
Templates/UniquePtr.h |
Structs
| Name | Remarks |
|---|---|
| InternalLinkType |
Struct Specializations
| Name | Remarks |
|---|---|
| TDefaultDelete< T[]> |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| DerivedType | TDefaultDelete | Templates/UniquePtr.h | |
| InternalBaseType | typename TGetBaseTypeHelper< TDefaultDelete >::Type | Templates/UniquePtr.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| CounterBase | int | Templates/UniquePtr.h | |
| InterfaceType | ETypeLayoutInterface::Type | Templates/UniquePtr.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FTypeLayoutDesc & GetTypeLayout() |
Templates/UniquePtr.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static void InternalDestroy
(
void* Object, |
Templates/UniquePtr.h | ||
static void InternalInitializeBases
(
FTypeLayoutDesc& TypeDesc |
Templates/UniquePtr.h | ||
static FTypeLayoutDesc & StaticGetTypeLayout() |
Templates/UniquePtr.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void operator()
(
T* Ptr |
Templates/UniquePtr.h | ||
TDefaultDelete & operator=
(
const TDefaultDelete& |
Templates/UniquePtr.h | ||
TDefaultDelete & operator=
(
const TDefaultDelete< U >& |
Templates/UniquePtr.h |