16#include "CoreMinimal.h"
50 template <
typename Self>
57 template <
typename Self>
58 using SelfRef = TSharedRef<std::decay_t<Self>>;
61 template <
typename Self>
65 return SharedThis(&self);
80 template <
typename Derived,
typename Self>
83 if constexpr (CDerivedFrom<Derived, Self>)
85 return StaticCastSharedPtr<Derived>(
TSharedPtr< Derived > AsExactly(this Self &&self)
virtual ~IHaveType()=default
void SetType(this Self &&self)
FORCEINLINE FName const & GetType() const
SelfRef< Self > WithType(this Self &&self)
TSharedRef< std::decay_t< Self > > SelfRef
auto AsMutablePtr(T *input)