|
const TraitsType & | GetTraits () const |
| Get the traits of the fingerprint.
|
|
const DetailsType & | GetDetails () const |
| Get the details of the fingerprint.
|
|
int32 | TraitsNum () const |
| The number of traits in the fingerprint.
|
|
int32 | DetailsNum () const |
| The number of details in the fingerprint.
|
|
const FTraitmark & | GetTraitmark () const |
| Get the traitmark part of the fingerprint.
|
|
const FDetailmark & | GetDetailmark () const |
| Get the detailmark part of the fingerprint.
|
|
| operator const FTraitmark & () const |
| Convert a fingerprint to a traitmark.
|
|
| operator const FDetailmark & () const |
| Convert a fingerprint to a detailmark.
|
|
const FBitMask & | GetTraitsMask () const |
| Get the traits mask of the fingerprint.
|
|
const FBitMask & | GetDetailsMask () const |
| Get the details mask of the fingerprint.
|
|
UScriptStruct * | TraitAt (const int32 Index) const |
| Get a trait by its index.
|
|
TSubclassOf< UDetail > | DetailAt (const int32 Index) const |
| Get a detail by its index.
|
|
| operator TraitsType () const |
| Convert to an array of trait types.
|
|
| operator DetailsType () const |
| Convert to an array of detail classes.
|
|
bool | IsEmpty () const |
| Check if the fingerprint is completely empty.
|
|
| operator bool () const |
| Check if a fingerprint is viable and has any effect.
|
|
EApparatusStatus | FindDetailsMappingFrom (const TArray< TSubclassOf< UDetail > > &InDetailClasses, TArray< int32 > &OutMapping) const |
| Get an indexing mapping from another fingerprint defined by an array of details.
|
|
void | FindTraitsMappingFrom (const TArray< UScriptStruct * > &InTraitmark, TArray< int32 > &OutMapping) const |
| Get an indexing mapping from another traitmark defined by an array of traits.
|
|
EApparatusStatus | FindDetailsMappingFrom (const TArray< TSubclassOf< UDetail > > &InDetailClasses, TArray< TArray< int32 > > &OutMapping) const |
| Get an indexing multi-mapping from another fingerprint defined by an array of details.
|
|
EApparatusStatus | FindDetailsMappingFrom (const FFingerprint &Fingerprint, TArray< int32 > &OutMapping) const |
| Get an indexing mapping from another fingerprint.
|
|
EApparatusStatus | FindTraitsMappingFrom (const FFingerprint &Fingerprint, TArray< int32 > &OutMapping) const |
| Get an indexing mapping from another fingerprint's traits.
|
|
EApparatusStatus | FindTraitsMappingFrom (const FTraitmark &InTraitmark, TArray< int32 > &OutMapping) const |
| Get an indexing mapping from another traitmark's traits.
|
|
EApparatusStatus | FindDetailsMappingTo (const FFingerprint &Fingerprint, TArray< int32 > &OutMapping) const |
| Get an indexing details mapping to another fingerprint.
|
|
EApparatusStatus | FindTraitsMappingTo (const FTraitmark &InTraitmark, TArray< int32 > &OutMapping) const |
| Get an indexing traits mapping to another traitmark.
|
|
EApparatusStatus | FindTraitsMappingTo (const FFingerprint &InFingerprint, TArray< int32 > &OutMapping) const |
| Get an indexing traits mapping to another traitmark.
|
|
EApparatusStatus | FindDetailsMappingFrom (const FFingerprint &Fingerprint, TArray< TArray< int32 > > &OutMapping) const |
| Get a detail indexing multi-mapping from another fingerprint.
|
|
EApparatusStatus | FindDetailsMappingTo (const FFingerprint &Fingerprint, TArray< TArray< int32 > > &OutMapping) const |
| Get an indexing multi-mapping to another fingerprint.
|
|
bool | FlagmarkMatches (const FFilter &Filter) const |
| Check if the fingerprint's flagmark matches a filter.
|
|
bool | TraitsMatch (const FFilter &Filter) const |
| Check if the fingerprint's traits part match a filter.
|
|
bool | DetailsMatch (const FFilter &Filter) const |
| Check if the fingerprint's details part match a filter.
|
|
bool | Matches (const EFlagmark IncludingFlagmark, const EFlagmark ExcludingFlagmark=FM_None) const |
| Check if the fingerprint matches the flagmarks used as filters.
|
|
bool | Matches (const FFilter &Filter) const |
| Check if the fingerprint matches a filter.
|
|
bool | Matches (const FFilter &Filter, const EFlagmark IncludingFlagmarkOverride, const EFlagmark ExcludingFlagmarkOverride) const |
| Check if the fingerprint matches a filter with flagmarks filtering overriden.
|
|
bool | Matches (const FFingerprint &InFingerprint) const |
| Check if the fingerprint matches another fingerprint acting as a filter.
|
|
bool | Matches (const FTraitmark &InTraitmark) const |
| Check if the fingerprint matches a traitmark acting as a filter.
|
|
bool | Matches (const FDetailmark &InDetailmark) const |
| Check if the fingerprint matches a detailmark acting as a filter.
|
|
bool | operator== (const FFingerprint &Other) const |
| Compare two fingerprints for equality.
|
|
bool | operator!= (const FFingerprint &Other) const |
| Compare two fingerprint for inequality.
|
|
bool | Identical (const FFingerprint *Other, uint32 PortFlags) const |
| Compare two fingerprints for equality.
|
|
int32 | IndexOf (UScriptStruct *const TraitType) const |
| Get the index of a specific trait type.
|
|
int32 | IndexOf (const TSubclassOf< UDetail > DetailClass) const |
| Get the index of a specific detail class.
|
|
EApparatusStatus | IndicesOf (const TSubclassOf< UDetail > DetailClass, TArray< int32 > &OutIndices) const |
| Get the indices of a specific detail class.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | SetTraitmark (FTraitmark &&InTraitmark) |
| Move a traitmark to the fingerprint's traitmark.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | SetTraitmark (const FTraitmark &InTraitmark) |
| Set the fingerprint's traitmark equal to a traitmark.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | SetDetailmark (FDetailmark &&InDetailmark) |
| Move a detailmark to the fingerprint's detailmark.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | SetDetailmark (const FDetailmark &InDetailmark) |
| Set the fingerprint's detailmark equal to a detailmark.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Set (FTraitmark &&InTraitmark, const bool bPreserveFlagmark=true) |
| Move a traitmark to the fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Set (const FTraitmark &InTraitmark, const bool bPreserveFlagmark=true) |
| Set the fingerprint equal to a traitmark.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Set (FDetailmark &&InDetailmark, const bool bPreserveFlagmark=true) |
| Move a detailmark to the fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Set (const FDetailmark &InDetailmark, const bool bPreserveFlagmark=true) |
| Set the fingerprint equal to a detailmark.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Set (FFingerprint &&InFingerprint) |
| Move another fingerprint to this one.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Set (const FFingerprint &InFingerprint) |
| Set the fingerprint equal to another one.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm > | Set (const TArray< UScriptStruct *, AllocatorT > &InTraits, const EFlagmark InFlagmark) |
| Set the fingerprint to an array of traits and a flagmark.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm > | Set (const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses, const EFlagmark InFlagmark) |
| Set a fingerprint to an array of detail classes and a flagmark.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm > | Set (const TArray< UDetail *, AllocatorT > &InDetails, const EFlagmark InFlagmark) |
| Set a fingerprint to an array of active-tested details and a flagmark.
|
|
FFingerprint & | operator= (FTraitmark &&InTraitmark) |
| Move a traitmark to the fingerprint.
|
|
FFingerprint & | operator= (const FTraitmark &InTraitmark) |
| Set the fingerprint equal to a traitmark.
|
|
FFingerprint & | operator= (FDetailmark &&InDetailmark) |
| Move a detailmark to the fingerprint.
|
|
FFingerprint & | operator= (const FDetailmark &InDetailmark) |
| Set the fingerprint equal to a detailmark.
|
|
FFingerprint & | operator= (FFingerprint &&Fingerprint) |
| Move a fingerprint to this one.
|
|
FFingerprint & | operator= (const FFingerprint &Fingerprint) |
| Set the fingerprint equal to another fingerprint.
|
|
template<typename AllocatorT > |
FFingerprint & | operator= (const TArray< UScriptStruct *, AllocatorT > &InTraitTypes) |
| Set a fingerprint equal to an array of trait types.
|
|
template<typename AllocatorT > |
FFingerprint & | operator= (const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses) |
| Set a fingerprint equal to an array of detail classes.
|
|
template<typename AllocatorT > |
FFingerprint & | operator= (const TArray< UDetail *, AllocatorT > &InDetails) |
| Set a fingerprint equal to an array of details.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Reset (const EFlagmark InFlagmark=FM_None) |
| Clear the fingerprint without any deallocations.
|
|
FString | ToString () const |
| Convert a fingerprint to a string.
|
|
uint32 | CalcHash () const |
| Calculate the hash sum of the fingerprint.
|
|
bool | Serialize (FArchive &Archive) |
| Serialize the fingerprint to the archive.
|
|
void | PostSerialize (const FArchive &Archive) |
| Post-serialize the fingerprint updating its caches.
|
|
| FFingerprint (const int32 InFlagmark=FM_None) |
| Construct an empty fingerprint with an optional boot state.
|
|
| FFingerprint (const TSubclassOf< UDetail > DetailClass, const int32 InFlagmark=FM_None) |
| Construct a new fingerprint from a single detail class and an optional boot state.
|
|
| FFingerprint (UScriptStruct *const TraitType, const int32 InFlagmark=FM_None) |
| Construct a new fingerprint from a single trait type and an optional boot state.
|
|
template<typename AllocatorT > |
| FFingerprint (const TArray< UDetail *, AllocatorT > &InDetailClasses, const int32 InFlagmark=FM_None) |
| Construct a fingerprint from an array of details and an optional boot state.
|
|
template<typename AllocatorT > |
| FFingerprint (const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses, const int32 InFlagmark=FM_None) |
| Construct a fingerprint from an array of detail classes and an optional boot state.
|
|
template<typename AllocatorTA , typename AllocatorTB > |
| FFingerprint (const TArray< UScriptStruct *, AllocatorTA > &InTraitTypes, const TArray< TSubclassOf< UDetail >, AllocatorTB > &InDetailClasses, const int32 InFlagmark=FM_None) |
| Construct a fingerprint from arrays of detail classes and trait types and also an optional boot state.
|
|
| FFingerprint (std::initializer_list< UScriptStruct * > InTraitTypes, std::initializer_list< TSubclassOf< UDetail > > InDetailClasses, const int32 InFlagmark=FM_None) |
| Construct a fingerprint from initializer lists of trait types and detail classes and also an optional boot state.
|
|
| FFingerprint (FFingerprint &&InFingerprint) |
| Move-construct a new fingerprint.
|
|
| FFingerprint (const FFingerprint &InFingerprint) |
| Construct a fingerprint as a copy of another one.
|
|
template<typename ... Ts> |
| FFingerprint (TFingerprint< Ts... > &&InFingerprint) |
| Move-construct from a templated fingerprint.
|
|
| FFingerprint (FTraitmark &&InTraitmark, const int32 InFlagmark=FM_None) |
| Construct a new fingerprint while moving a traitmark and a flagmark.
|
|
| FFingerprint (FDetailmark &&InDetailmark, const int32 InFlagmark=FM_None) |
| Construct a new fingerprint while moving a detailmark and a flagmark.
|
|
| FFingerprint (FTraitmark &&InTraitmark, FDetailmark &&InDetailmark, const int32 InFlagmark=FM_None) |
| Construct a new fingerprint while moving a traitmark and a detailmark.
|
|
| FFingerprint (const FTraitmark &InTraitmark, const int32 InFlagmark=FM_None) |
| Construct a new fingerprint with a traitmark and a flagmark.
|
|
| FFingerprint (const FDetailmark &InDetailmark, const int32 InFlagmark=FM_None) |
| Construct a new fingerprint with a detailmark and a flagmark.
|
|
| FFingerprint (const FTraitmark &InTraitmark, const FDetailmark &InDetailmark, const int32 InFlagmark=FM_None) |
| Construct a new fingerprint with a traitmark and a detailmark.
|
|
|
EFlagmark | GetFlagmark (const std::memory_order MemoryOrder=std::memory_order_acquire) const |
| Get the flagmark.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, EFlagmark > | SetFlagmark (const EFlagmark InFlagmark, const std::memory_order MemoryOrder=std::memory_order_release) |
| Set the new active flagmark.
|
|
EApparatusStatus | SetFlagmark_Status (const EFlagmark InFlagmark) |
| Set the new active flagmark.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, EFlagmark > | SetFlagmarkMasked (const EFlagmark InFlagmark, const EFlagmark InMask, const std::memory_order MemoryOrder=std::memory_order_release) |
| Set the new active flagmark to a masked flagmark.
|
|
EApparatusStatus | SetFlagmarkMasked_Status (const EFlagmark InFlagmark, const EFlagmark InMask) |
| Set the new active flagmark to a masked flagmark.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, EFlagmark > | AddToFlagmark (const EFlagmark InFlagmark, const std::memory_order MemoryOrder=std::memory_order_release) |
| Add flags to the flagmark.
|
|
EApparatusStatus | AddToFlagmark_Status (const EFlagmark InFlagmark) |
| Add flags to the flagmark.
|
|
FFingerprint & | operator+= (const EFlagmark InFlagmark) |
| Add flagmark to the fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, EFlagmark > | RemoveFromFlagmark (const EFlagmark InFlagmark, const std::memory_order MemoryOrder=std::memory_order_release) |
| Remove flags from the flagmark.
|
|
FFingerprint & | operator-= (const EFlagmark InFlagmark) |
| Remove flagmark from the fingerprint.
|
|
EApparatusStatus | RemoveFromFlagmark_Status (const EFlagmark InFlagmark) |
| Remove flags from the flagmark.
|
|
bool | HasFlag (const EFlagmarkBit Flag, const std::memory_order MemoryOrder=std::memory_order_acquire) const |
| Get the flag state of the fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, bool > | SetFlag (const EFlagmarkBit Flag, const bool bState=true, const std::memory_order MemoryOrder=std::memory_order_release) |
| Set a flagmark bit to a specific state.
|
|
EApparatusStatus | SetFlag_Status (const EFlagmarkBit Flag, const bool bState=true) |
| Set a flagmark bit to a specific state.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, bool > | ToggleFlag (const EFlagmarkBit Flag, const std::memory_order MemoryOrder=std::memory_order_release) |
| Toggle the state of a flagmark bit.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, bool > | SetBooted (bool bState=true, const std::memory_order MemoryOrder=std::memory_order_release) |
| Set the new active boot state.
|
|
bool | IsStale (const std::memory_order MemoryOrder=std::memory_order_acquire) const |
| Check if the fingerprint corresponds to a stale entity.
|
|
bool | IsBooted (const std::memory_order MemoryOrder=std::memory_order_acquire) const |
| Check if the fingerprint corresponds to a booted entity.
|
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Add (std::initializer_list< UScriptStruct * > TraitTypes) |
| Add trait types to the fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Add (std::initializer_list< TSubclassOf< UDetail > > DetailClasses) |
| Add detail classes to the fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Add (const FFingerprint &InFingerprint) |
| Add a fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Add (const FFingerprint &InFingerprint, const EFlagmark InFlagmark) |
| Add a fingerprint with a flagmark override.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Add (UScriptStruct *const TraitType, const EFlagmark InFlagmark=FM_None) |
| Add a trait type and a flagmark to the fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Add (const TSubclassOf< UDetail > DetailClass, const EFlagmark InFlagmark=FM_None) |
| Add a detail class and a flagmark to the fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename TraitsExtractorT = void> |
TOutcome< Paradigm > | Add (const TraitsExtractorT &InTraits, const EFlagmark InFlagmark=FM_None) |
| Add generic traits and a boot state specification.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm > | Add (const TArray< UScriptStruct *, AllocatorT > &InTraitTypes, const EFlagmark InFlagmark=FM_None) |
| Add an array of traits and a flagmark specification.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm > | Add (const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses, const EFlagmark InFlagmark=FM_None) |
| Add an arrary of detail classes and an optional flagmark.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm > | Add (const TArray< UDetail *, AllocatorT > &InDetails, const EFlagmark InFlagmark=FM_None) |
| Add an array of details and an optional flagmark.
|
|
template<EParadigm Paradigm, typename T > |
TOutcome< Paradigm > | AddTrait () |
| Add a trait type.
|
|
template<typename T > |
TOutcome< EParadigm::Default > | AddTrait () |
| Add a trait type.
|
|
template<EParadigm Paradigm, class D > |
TOutcome< Paradigm > | AddDetail () |
| Add a detail class.
|
|
template<class D > |
auto | AddDetail () |
| Add a detail class.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm > | Add () |
| Add component(s) to the fingerprint.
|
|
template<class... Cs, EParadigm Paradigm = EParadigm::Default> |
auto | Add () |
| Add component(s) to the fingerprint.
|
|
FFingerprint & | operator+= (std::initializer_list< UScriptStruct * > TraitTypes) |
| Add variadic trait types.
|
|
FFingerprint & | operator+= (std::initializer_list< TSubclassOf< UDetail > > DetailClasses) |
| Add variadic detail classes.
|
|
FFingerprint & | operator+= (const FFingerprint &Fingerprint) |
| Add a fingerprint specification.
|
|
template<typename AllocatorT > |
FFingerprint & | operator+= (const TArray< UScriptStruct *, AllocatorT > &TraitTypes) |
| Add an array of trait types.
|
|
template<typename AllocatorT > |
FFingerprint & | operator+= (const TArray< TSubclassOf< UDetail >, AllocatorT > &DetailClasses) |
| Add an array of detail classes.
|
|
template<typename AllocatorT > |
FFingerprint & | operator+= (const TArray< UDetail *, AllocatorT > &InDetails) |
| Add active details from an array.
|
|
FFingerprint & | operator+= (UScriptStruct *TraitType) |
| Add a single trait type.
|
|
FFingerprint & | operator+= (TSubclassOf< UDetail > DetailClass) |
| Add a single detail class.
|
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Remove (UScriptStruct *const TraitType) |
| Remove a trait type from the fingerprint specification.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Remove (const TSubclassOf< UDetail > DetailClass) |
| Remove a detail class from the fingerprint specification.
|
|
template<EParadigm Paradigm, typename T > |
TOutcome< Paradigm > | RemoveTrait () |
| Remove a trait type from a fingerprint.
|
|
template<typename T > |
auto | RemoveTrait () |
| Remove a trait type from a fingerprint.
|
|
template<EParadigm Paradigm, class D > |
TOutcome< Paradigm > | RemoveDetail () |
| Remove a detail class from a fingerprint.
|
|
template<class D > |
auto | RemoveDetail () |
| Remove a detail class from a fingerprint.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm > | Remove () |
| Remove component(s) from the fingerprint.
|
|
template<class... Cs, EParadigm Paradigm = EParadigm::Default> |
auto | Remove () |
| Remove component(s) from the fingerprint.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | RemoveAllTraits () |
| Remove all of the traits (if any).
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | RemoveAllDetails () |
| Remove all of the details (if any).
|
|
FFingerprint & | operator-= (UScriptStruct *const TraitType) |
| Remove a trait type from the fingerprint.
|
|
FFingerprint & | operator-= (const TSubclassOf< UDetail > DetailClass) |
| Remove a detail class from a fingerprint.
|
|
|
bool | Contains (const UScriptStruct *const TraitType) const |
| Check whether a fingerprint contains a trait specification.
|
|
bool | Contains (const TSubclassOf< UDetail > DetailClass) const |
| Check whether a fingerprint contains a detail specification.
|
|
bool | ContainsTrait (const UScriptStruct *const TraitType) const |
| Check whether a fingerprint contains a trait specification.
|
|
bool | ContainsDetail (const TSubclassOf< UDetail > DetailClass) const |
| Check whether a fingerprint contains a detail specification.
|
|
template<typename T > |
bool | ContainsTrait () const |
| Check whether a fingerprint contains a trait specification.
|
|
template<class D > |
bool | ContainsDetail () const |
| Check whether a fingerprint contains a detail specification.
|
|
template<typename ... Cs> |
bool | Contains () const |
| Check whether a fingerprint contains a component specification.
|
|