UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Casts.h File Reference
#include "Containers/UnrealString.h"
#include "CoreTypes.h"
#include "Misc/NotNull.h"
#include "Templates/LosesQualifiersFromTo.h"
#include "Templates/UnrealTemplate.h"
#include "UObject/Class.h"
#include "UObject/Object.h"
#include "UObject/ObjectHandle.h"
#include "UObject/ObjectMacros.h"
#include "UObject/ObjectPtr.h"
#include <type_traits>

Go to the source code of this file.

Classes

struct  TIsIInterface< T, bIsAUObject_IMPL >
 
struct  TIsIInterface< T, false >
 
struct  UE::CoreUObject::Private::TIsCastable< T >
 

Namespaces

namespace  UE
 
namespace  UE::CoreUObject
 
namespace  UE::CoreUObject::Private
 

Macros

#define UE_USE_CAST_FLAGS   (USTRUCT_FAST_ISCHILDOF_IMPL != USTRUCT_ISCHILDOF_STRUCTARRAY)
 
#define UE_ENABLE_UNRELATED_CAST_WARNINGS   1
 
#define DECLARE_CAST_BY_FLAG(ClassName)
 
#define dynamic_cast   UE::CoreUObject::Private::DynamicCast
 

Functions

COREUOBJECT_API void CastLogError (const TCHAR *FromType, const TCHAR *ToType)
 
template<typename T >
FString GetTypeName ()
 
template<typename Type >
struct UE_DEPRECATED (5.5, "TCastFlags has been deprecated - use Cast instead.") TCastFlags
 
template<typename To , typename From >
TCopyQualifiersFromTo_T< From, To > * Cast (From *Src)
 
template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * ExactCast (From *Src)
 
template<typename To , typename From >
FUNCTION_NON_NULL_RETURN_START TCopyQualifiersFromTo_T< From, To > * CastChecked (From *Src) FUNCTION_NON_NULL_RETURN_END
 
template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked (From *Src, ECastCheckedType::Type CheckType)
 
template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * Cast (const TWeakObjectPtr< From > &Src)
 
template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * ExactCast (const TWeakObjectPtr< From > &Src)
 
template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked (const TWeakObjectPtr< From > &Src)
 
template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked (const TWeakObjectPtr< From > &Src, ECastCheckedType::Type CheckType)
 
template<typename To , typename From >
TCopyQualifiersFromTo_T< From, To > * Cast (const TObjectPtr< From > &InSrc)
 
template<typename To , typename From >
TCopyQualifiersFromTo_T< From, To > * ExactCast (const TObjectPtr< From > &Src)
 
template<typename To , typename From >
TCopyQualifiersFromTo_T< From, To > * CastChecked (const TObjectPtr< From > &Src, ECastCheckedType::Type CheckType=ECastCheckedType::NullChecked)
 
template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * Cast (const TSubclassOf< From > &Src)
 
template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked (const TSubclassOf< From > &Src)
 
template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked (const TSubclassOf< From > &Src, ECastCheckedType::Type CheckType)
 
template<typename To , typename From >
To UE::CoreUObject::Private::DynamicCast (From *Arg)
 
template<typename To , typename From >
To UE::CoreUObject::Private::DynamicCast (From &&Arg)
 

Variables

template<typename Type >
constexpr EClassCastFlags UE::CoreUObject::Private::TCastFlags_V = CASTCLASS_None
 
template<typename Type >
constexpr EClassCastFlags UE::CoreUObject::Private::TCastFlags_V< const Type > = TCastFlags_V<Type>
 

Macro Definition Documentation

◆ DECLARE_CAST_BY_FLAG

#define DECLARE_CAST_BY_FLAG (   ClassName)
Value:
class ClassName; \
template <> \
constexpr inline EClassCastFlags UE::CoreUObject::Private::TCastFlags_V<ClassName> = CASTCLASS_##ClassName;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EClassCastFlags
Definition ObjectMacros.h:333

◆ dynamic_cast

◆ UE_ENABLE_UNRELATED_CAST_WARNINGS

#define UE_ENABLE_UNRELATED_CAST_WARNINGS   1

◆ UE_USE_CAST_FLAGS

Function Documentation

◆ Cast() [1/4]

template<typename To , typename From >
TCopyQualifiersFromTo_T< From, To > * Cast ( const TObjectPtr< From > &  InSrc)
inline

◆ Cast() [2/4]

template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * Cast ( const TSubclassOf< From > &  Src)

◆ Cast() [3/4]

template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * Cast ( const TWeakObjectPtr< From > &  Src)

◆ Cast() [4/4]

template<typename To , typename From >
TCopyQualifiersFromTo_T< From, To > * Cast ( From *  Src)
inline

◆ CastChecked() [1/7]

template<typename To , typename From >
TCopyQualifiersFromTo_T< From, To > * CastChecked ( const TObjectPtr< From > &  Src,
ECastCheckedType::Type  CheckType = ECastCheckedType::NullChecked 
)
inline

◆ CastChecked() [2/7]

template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked ( const TSubclassOf< From > &  Src)

◆ CastChecked() [3/7]

template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked ( const TSubclassOf< From > &  Src,
ECastCheckedType::Type  CheckType 
)

◆ CastChecked() [4/7]

template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked ( const TWeakObjectPtr< From > &  Src)

◆ CastChecked() [5/7]

template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked ( const TWeakObjectPtr< From > &  Src,
ECastCheckedType::Type  CheckType 
)

◆ CastChecked() [6/7]

template<typename To , typename From >
FUNCTION_NON_NULL_RETURN_START TCopyQualifiersFromTo_T< From, To > * CastChecked ( From *  Src)
inline

◆ CastChecked() [7/7]

template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * CastChecked ( From *  Src,
ECastCheckedType::Type  CheckType 
)

◆ CastLogError()

COREUOBJECT_API void CastLogError ( const TCHAR FromType,
const TCHAR ToType 
)

◆ ExactCast() [1/3]

template<typename To , typename From >
TCopyQualifiersFromTo_T< From, To > * ExactCast ( const TObjectPtr< From > &  Src)
inline

◆ ExactCast() [2/3]

template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * ExactCast ( const TWeakObjectPtr< From > &  Src)

◆ ExactCast() [3/3]

template<typename To , typename From >
UE_FORCEINLINE_HINT TCopyQualifiersFromTo_T< From, To > * ExactCast ( From *  Src)

◆ GetTypeName()

template<typename T >
FString GetTypeName ( )
inline

◆ UE_DEPRECATED()

template<typename Type >
struct UE_DEPRECATED ( 5.  5,
"TCastFlags has been deprecated - use Cast instead."   
)