UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ObjectPtrTestClass.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#if WITH_TESTS
6
7#include "UObject/Object.h"
8#include "UObject/ObjectPtr.h"
13
14#include "ObjectPtrTestClass.generated.h"
15
16//simple test class for testing TObjectPtr resolve behavior
17UCLASS(meta=(LoadBehavior=LazyOnDemand))
18class UObjectPtrTestClass : public UObject
19{
21};
22
23//abstract test class for testing TObjectPtr resolve behavior
24UCLASS(Abstract, meta=(LoadBehavior=LazyOnDemand))
26{
28};
29
30//derived-from-abstract test class for testing TObjectPtr resolve behavior
31UCLASS(meta=(LoadBehavior=LazyOnDemand))
33{
35};
36
37//test class with typed reference to another class
38UCLASS(meta=(LoadBehavior=LazyOnDemand))
40{
42
43public:
44 UPROPERTY()
46
47 UPROPERTY()
49
50 UPROPERTY()
52
53 UPROPERTY()
55};
56
57
58//test class with typed reference to another class
59UCLASS(meta=(LoadBehavior=LazyOnDemand))
61{
63
64public:
65 UPROPERTY()
66 TObjectPtr<UClass> ClassPtr;
67 UPROPERTY()
69 UPROPERTY()
71};
72
73//test class with raw pointer
74UCLASS(meta=(LoadBehavior=LazyOnDemand))
76{
78
79public:
80 UPROPERTY()
81 UObjectPtrTestClass* ObjectPtr;
82 UPROPERTY()
84};
85
86
87//derived test class
88UCLASS(meta=(LoadBehavior=LazyOnDemand))
90{
92};
93
94
95//non lazy test class
96UCLASS()
98{
100};
101
102
103//stress testing class
104UCLASS(meta=(LoadBehavior=LazyOnDemand))
106{
108
109public:
111};
112
113class FTestBaseClass
114{
115public:
116 virtual ~FTestBaseClass() = default;
117 virtual void VirtFunc() { };
118};
119
120UCLASS()
122{
124
125public:
126 virtual void VirtFunc() override { };
127};
128
129
131{
132public:
133 virtual ~FAnotherBaseClass() = default;
134 virtual void AnotherVirtFunc() { };
135};
136
137
138UCLASS()
140{
142public:
143 virtual void AnotherVirtFunc() override { };
144};
145
146
147#endif
#define PLATFORM_CACHE_LINE_SIZE
Definition Platform.h:938
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Array.h:670
Definition SubclassOf.h:30
Definition Class.h:3793
Definition Object.h:95
Definition ObjectPtr.h:488