21 template<
bool Predicate,
typename TrueClass,
typename FalseClass>
24 template<
typename TrueClass,
typename FalseClass>
28 typedef TrueClass Result;
31 template<
typename TrueClass,
typename FalseClass>
35 typedef FalseClass Result;
41 enum { Value =
false };
51 template<
typename DerivedType,
typename BaseType>
109 static constexpr bool IsDerived =
Value;
115 template<
class TClass>
134 template <
class TClassA>
135 friend class TSubclassOf;
207 std::enable_if_t<!TIsTSubclassOf<std::decay_t<U>>::Value,
decltype(ImplicitConv<TClassType*>(std::declval<U>()))
221 template <class TClassA, class = decltype(ImplicitConv<TClass*>((TClassA*)
nullptr))>
233 template <class TClassA, class = decltype(ImplicitConv<TClass*>((TClassA*)
nullptr))>
234 inline TSubclassOf&
operator=(
const TSubclassOf<TClassA>& From)
262 decltype(ImplicitConv<TClassType*>(std::declval<U>()))
265 inline TSubclassOf&
operator=(U&& From)
279 if (!Class || !Class->IsChildOf(TClass::StaticClass()))
327 Result = Class->GetDefaultObject();
328 KR_CORE_ASSERT(
Result &&
Result->IsA(TClass::StaticClass()),
"");
348 template <
typename T>
351 enum { Value =
true };
This file contains the class UField, UStruct, and UClass.
This file contains the class FField and relevant helpers.
Object representing a type of an FField struct. Mimics a subset of UObject reflection functions.
Definition Field.h:272
Base class of reflection data objects.
Definition Field.h:449
Chooses between two different classes based on a boolean.
Definition SubClassOf.h:22
TClassType * operator*() const
Definition SubClassOf.h:277
TClassType * operator->() const
Definition SubClassOf.h:301
TSubclassOf()
Definition SubClassOf.h:143
TSubclassOf(TClassType *From)
Definition SubClassOf.h:154
TClass * GetDefaultObject() const
Definition SubClassOf.h:322
TSubclassOf(const TSubclassOf< TClassA > &From)
Definition SubClassOf.h:222
TSubclassOf & operator=(TClassType *From)
Definition SubClassOf.h:246
TSubclassOf(U &&From)
Constructor that takes a UClass and does a runtime check to make sure this is a compatible class.
Definition SubClassOf.h:210
TChooseClass< TIsDerivedFrom< TClass, FField >::IsDerived, FField, UObject >::Result TBaseType
Again, on parsing, I understand the meaning to be, if TClass is derived from FField then TBaseType is...
Definition SubClassOf.h:131
TClassType * Get() const
Definition SubClassOf.h:291
TChooseClass< TIsDerivedFrom< TClass, FField >::IsDerived, FFieldClass, UClass >::Result TClassType
Since I don't think I understand the purpose of this typedef, I may attempt to parse the code....
Definition SubClassOf.h:124
An object class.
Definition Class.h:158
The base class of all the game code relevant objects.
Definition Object.h:106
Is type DerivedType inherited from BaseType?
Definition SubClassOf.h:53
static Yes & Test(const BaseType *)
Handy variant function called when type-cast succeeds.
static No & Test(...)
Handy function called when type-cast does not succeed.
static constexpr bool Value
Definition SubClassOf.h:107
char Yes[2]
Definition SubClassOf.h:59
static Yes & Test(BaseType *)
Handy function called when type-cast succeeds.
static DerivedType * DerivedTypePtr()
Definition SubClassOf.h:100
char No[1]
Definition SubClassOf.h:56
Definition SubClassOf.h:40