Navigation
API > API/Runtime > API/Runtime/Core
Take a ref-count on a UObject to prevent it from being GC'd while this guard is in scope.
TStrongObjectPtr is a strong pointer to a UObject. It can return nullptr if it has not been initialized or has been constructed from a weak ptr that is already garbage collected. It prevents an object from being garbage collected. It can't be directly used across a network.
Most often it is used when you explicitly want to prevent something from being garbage collected.
| Name | TStrongObjectPtr |
| Type | class |
| Header File | /Engine/Source/Runtime/Core/Public/UObject/StrongObjectPtrTemplates.h |
| Include Path | #include "UObject/StrongObjectPtrTemplates.h" |
Syntax
template<typename ObjectType, typename ReferencerNameProvider>
class TStrongObjectPtr
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TStrongObjectPtr
(
TStrongObjectPtr&& InOther |
UObject/StrongObjectPtrTemplates.h | ||
TStrongObjectPtr
(
TYPE_OF_NULLPTR |
UObject/StrongObjectPtrTemplates.h | ||
TStrongObjectPtr
(
ObjectType* InObject |
UObject/StrongObjectPtrTemplates.h | ||
TStrongObjectPtr
(
const TStrongObjectPtr& InOther |
UObject/StrongObjectPtrTemplates.h | ||
TStrongObjectPtr
(
const TStrongObjectPtr< OtherObjectType, OtherReferencerNameProvider >& InOther |
UObject/StrongObjectPtrTemplates.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~TStrongObjectPtr() |
UObject/StrongObjectPtrTemplates.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| ElementType | ObjectType | UObject/StrongObjectPtrTemplates.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Object | const UObject * | Store as UObject to allow forward declarations without having to fully resolve ObjectType before construction. | UObject/StrongObjectPtrTemplates.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ObjectType * Get() |
UObject/StrongObjectPtrTemplates.h | ||
bool IsValid() |
UObject/StrongObjectPtrTemplates.h | ||
void Reset () |
UObject/StrongObjectPtrTemplates.h | ||
void Reset
(
ObjectType* InNewObject |
UObject/StrongObjectPtrTemplates.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
operator bool() |
UObject/StrongObjectPtrTemplates.h | ||
ObjectType & operator*() |
UObject/StrongObjectPtrTemplates.h | ||
TStrongObjectPtr & operator=
(
const TStrongObjectPtr< OtherObjectType, OtherReferencerNameProvider >& InOther |
UObject/StrongObjectPtrTemplates.h | ||
TStrongObjectPtr & operator=
(
const TStrongObjectPtr& InOther |
UObject/StrongObjectPtrTemplates.h | ||
TStrongObjectPtr & operator=
(
TStrongObjectPtr&& InOther |
UObject/StrongObjectPtrTemplates.h | ||
ObjectType * operator->() |
UObject/StrongObjectPtrTemplates.h |