51 template<
typename FeatureType,
typename =
void>
56 template<
typename FeatureType>
63 template<
class FeatureType>
67 "Your ModularFeature class is missing its UID -- You must add ULANG_FEATURE_ID_DECL() to the class body.");
72template<
class FeatureType>
template<
typename...
Args_t>
79template<
class FeatureType>
93 template<
class FeatureType>
97 static_assert(std::is_same_v<FeatureType, typename FeatureType::CFeatureType>,
98 "You cannot use sub-classes when querying for specific ModularFeatures. You must use the base feature class.");
103template<
class FeatureType>
109template<
class FeatureType>
124template<
class FeatureType>
138template<
class FeatureType>
144template<
class FeatureType>
150template<
class FeatureType>
154 ULANG_ASSERTF(
Optional.IsSet(),
"Dereferencing an invalid feature iterator -- check validity first.");
159template<
class FeatureType>
165template<
class FeatureType>
168 return this->Get().Get();
171template<
class FeatureType>
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
T * New(FMemStackBase &Mem, int32 Count=1, int32 Align=DEFAULT_ALIGNMENT)
Definition MemStack.h:259
const bool
Definition NetworkReplayStreaming.h:178
#define ULANG_FORCEINLINE
Definition Common.h:188
#define ULANG_ASSERTF(expr, format,...)
Definition Common.h:290
Definition SharedPointer.h:28
Definition ModularFeatureManager.inl:30
static VERSECOMPILER_API void SetRegistry(const TSRef< IModularFeatureRegistry > &NewRegistry)
Definition ModularFeatureManager.cpp:123
static VERSECOMPILER_API void Register(const TSRef< IModularFeature > &NewFeature, const RegistryId FeatureId)
Definition ModularFeatureManager.cpp:138
static VERSECOMPILER_API RegistryId GetRegistryId(const char *FeatureName)
Definition ModularFeatureManager.cpp:150
static VERSECOMPILER_API const TSRef< IModularFeatureRegistry > & GetRegistry()
Definition ModularFeatureManager.cpp:118
static VERSECOMPILER_API bool Unregister(const TSRef< IModularFeature > &Feature)
Definition ModularFeatureManager.cpp:144
Definition ModularFeatureManager.cpp:14
Definition ModularFeatureManager.inl:22
Definition ModularFeatureManager.h:91
FeatureType * operator->() const
Definition ModularFeatureManager.inl:166
bool operator!() const
Definition ModularFeatureManager.inl:145
TSRef< FeatureType > Get() const
Definition ModularFeatureManager.inl:151
FeatureType & operator*() const
Definition ModularFeatureManager.inl:160
void operator++()
Definition ModularFeatureManager.inl:172
Definition ModularFeatureManager.h:18
ULANG_FORCEINLINE TModularFeatureRegHandle(Args_t &&... Args)
Definition ModularFeatureManager.inl:73
ULANG_FORCEINLINE ~TModularFeatureRegHandle()
Definition ModularFeatureManager.inl:80
Definition SharedPointerArray.h:21
ULANG_FORCEINLINE int32_t Add(const PointerType &Item)
Definition SharedPointerArray.h:821
Definition SharedPointer.h:77
Definition OverriddenPropertySet.cpp:45
RegistryId GetUidForFeatureQuery()
Definition ModularFeatureManager.inl:94
VERSECOMPILER_API TSPtr< IModularFeature > GetModularFeature(const RegistryId FeatureId, const int32_t Index)
Definition ModularFeatureManager.cpp:175
SymbolId RegistryId
Definition ModularFeatureManager.inl:19
RegistryId GetUidForFeature()
Definition ModularFeatureManager.inl:64
Definition VVMEngineEnvironment.h:23
uint32_t SymbolId
A unique id representing a symbol.
Definition Symbol.h:18
ULANG_FORCEINLINE T && ForwardArg(typename TRemoveReference< T >::Type &Obj)
Definition References.h:115
TSRefArray< FeatureType > GetModularFeaturesOfType()
Definition ModularFeatureManager.inl:125
TOptional< TSRef< FeatureType > > GetModularFeature(const int32_t Index=0)
Definition ModularFeatureManager.inl:110
int32_t GetModularFeatureCount()
Definition ModularFeatureManager.inl:104
U16 Index
Definition radfft.cpp:71
typename FeatureType::CFeatureType CFeatureType
Definition ModularFeatureManager.inl:59
Definition ModularFeatureManager.inl:53
@ Value
Definition ModularFeatureManager.inl:54
Definition ModularFeatureManager.inl:48
void Type
Definition ModularFeatureManager.inl:49