14#include "CoreMinimal.h"
15#include "UObject/StrongObjectPtr.h"
35 template <
typename... Args>
38 FGCScopeGuard avoidGC;
45 operator const T* ()
const {
return Storage.Get(); }
46 operator T* () {
return Storage.Get(); }
48 T
const&
Get()
const {
return *Storage.Get(); }
49 T&
Get() {
return *Storage.Get(); }
52 TStrongObjectPtr<T> Storage;
#define FWD(...)
Shorten forwarding expression with this macro so one may not need to specify explicit type.
T * NewInit(FConstructObjectParameters &¶ms, Args &&... args)
Create a new object which can also be initialized with an Initialize function if it has one....
Mirror of FStaticConstructObjectParameters but it's a plain C++ object and doesn't have a constructor...
A struct to emulate regular C++ RAII object behavior with UObjects. When this struct is instantiated ...
const T * operator->() const
TScopeObject(FConstructObjectParameters &¶ms, Args &&... args)