23 template<
bool Predicate,
typename TrueClass,
typename FalseClass>
26 template<
typename TrueClass,
typename FalseClass>
30 typedef TrueClass Result;
33 template<
typename TrueClass,
typename FalseClass>
37 typedef FalseClass Result;
43 enum { Value =
false };
53 template<
typename DerivedType,
typename BaseType>
111 static constexpr bool IsDerived =
Value;
117 template<
class TClass>
136 template <
class TClassA>
137 friend class TSubclassOf;
209 std::enable_if_t<!TIsTSubclassOf<std::decay_t<U>>::Value,
decltype(ImplicitConv<TClassType*>(std::declval<U>()))
223 template <class TClassA, class = decltype(ImplicitConv<TClass*>((TClassA*)
nullptr))>
235 template <class TClassA, class = decltype(ImplicitConv<TClass*>((TClassA*)
nullptr))>
236 inline TSubclassOf&
operator=(
const TSubclassOf<TClassA>& From)
264 decltype(ImplicitConv<TClassType*>(std::declval<U>()))
267 inline TSubclassOf&
operator=(U&& From)
281 if (!Class || !Class->IsChildOf(TClass::StaticClass()))
329 Result = Class->GetDefaultObject();
330 KR_CORE_ASSERT(
Result &&
Result->IsA(TClass::StaticClass()),
"");
350 template <
typename T>
353 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:273
Base class of reflection data objects.
Definition Field.h:450
Chooses between two different classes based on a boolean.
Definition SubClassOf.h:24
TClassType * operator*() const
Definition SubClassOf.h:279
TClassType * operator->() const
Definition SubClassOf.h:303
TSubclassOf()
Definition SubClassOf.h:145
TSubclassOf(TClassType *From)
Definition SubClassOf.h:156
TClass * GetDefaultObject() const
Definition SubClassOf.h:324
TSubclassOf(const TSubclassOf< TClassA > &From)
Definition SubClassOf.h:224
TSubclassOf & operator=(TClassType *From)
Definition SubClassOf.h:248
TSubclassOf(U &&From)
Constructor that takes a UClass and does a runtime check to make sure this is a compatible class.
Definition SubClassOf.h:212
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:133
TClassType * Get() const
Definition SubClassOf.h:293
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:126
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:55
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:109
char Yes[2]
Definition SubClassOf.h:61
static Yes & Test(BaseType *)
Handy function called when type-cast succeeds.
static DerivedType * DerivedTypePtr()
Definition SubClassOf.h:102
char No[1]
Definition SubClassOf.h:58
Definition SubClassOf.h:42