TUniquePtr

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

Core

Header

/Engine/Source/Runtime/Core/Public/Templates/UniquePtr.h

Include

#include "Templates/UniquePtr.h"

Syntax

template<typename T, typename Deleter>
class TUniquePtr : private Deleter

Specializations

Constructors

Name Description

Public function

TUniquePtr()

Default constructor - initializes the TUniquePtr to null.

Public function

TUniquePtr

(
    const TUniquePtr&
)

Non-copyable.

Public function

TUniquePtr

(
    U* InPtr
)

Pointer constructor - takes ownership of the pointed-to object

Public function

TUniquePtr

(
    TYPE_OF_NULLPTR
)

Nullptr constructor - initializes the TUniquePtr to null.

Public function

TUniquePtr

(
    TUniquePtr&& Other
)

Move constructor

Public function

TUniquePtr

(
    TUniquePtr< OtherT, OtherDeleter > ...
)

Constructor from rvalues of other (usually derived) types

Public function

TUniquePtr

(
    U* InPtr,
    Deleter&& InDeleter
)

Pointer constructor - takes ownership of the pointed-to object

Public function

TUniquePtr

(
    U* InPtr,
    const Deleter& InDeleter
)

Pointer constructor - takes ownership of the pointed-to object

Destructors

Name Description

Public function

~TUniquePtr()

Destructor

Functions

Name Description

Public function Const

T *

 

Get()

Returns a pointer to the owned object without relinquishing ownership.

Public function

Deleter &

 

GetDeleter()

Returns a reference to the deleter subobject.

Public function Const

const Delete...

 

GetDeleter()

Returns a reference to the deleter subobject.

Public function Const

const FTypeL...

 

GetTypeLayout()

Public function Const

bool

 

IsValid()

Tests if the TUniquePtr currently owns an object.

Public function

T *

 

Release()

Relinquishes control of the owned object to the caller and nulls the TUniquePtr.

Public function

void

 

Reset

(
    T* InPtr
)

Gives the TUniquePtr a new object to own, destroying any previously-owned object.

Public function Static

FTypeLayoutD...

 

StaticGetTypeLayout()

Operators

Name Description

Public function Const

 

operator bool()

Operator bool

Public function Const

bool

 

operator!()

Logical not operator

Public function Const

T &

 

operator*()

Dereference operator

Public function

TUniquePtr &

 

operator=

(
    TYPE_OF_NULLPTR
)

Nullptr assignment operator

Public function

TUniquePtr &

 

operator=

(
    TUniquePtr< OtherT, OtherDeleter > ...
)

Assignment operator for rvalues of other (usually derived) types

Public function

TUniquePtr &

 

operator=

(
    const TUniquePtr&
)

Public function

TUniquePtr &

 

operator=

(
    TUniquePtr&& Other
)

Move assignment operator

Public function Const

T *

 

operator->()

Indirection operator

Classes

Name

Description

Public struct

InternalLinkType

Typedefs

Name

Description

DerivedType

ElementType

PtrType

Constants

Name

Description

CounterBase

InterfaceType