|
const FTraitmark & | GetTraitmark () const |
| Get the inclusive traitmark of the filter.
|
|
const FDetailmark & | GetDetailmark () const |
| Get the inclusive detailmark of the filter.
|
|
const FFingerprint & | GetFingerprint () const |
| Get the inclusive fingerprint of the filter.
|
|
const TraitsType & | GetTraits () const |
| Get the included traits of the filter.
|
|
const DetailsType & | GetDetails () const |
| Get the included details of the filter.
|
|
const TraitsType & | GetExcludedTraits () const |
| Get the excluded traits of the filter.
|
|
const DetailsType & | GetExcludedDetails () const |
| Get the excluded details of the filter.
|
|
EFlagmark | GetExcludingFlagmark () const |
| Get the current negative flagmark of the filter.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | SetExcludingFlagmark (EFlagmark InExcludingFlagmark) |
| Set the new active negative flagmark.
|
|
int32 | TraitsNum () const |
| The number of included traits in the filter.
|
|
int32 | DetailsNum () const |
| The number of included details in the filter.
|
|
int32 | ExcludedTraitsNum () const |
| The number of excluded traits in the filter.
|
|
int32 | ExcludedDetailsNum () const |
| The number of excluded details in the filter.
|
|
bool | IsTraitWise () const |
| Check if there is some kind of trait-wise filtering.
|
|
bool | IsDetailWise () const |
| Check if there is some kind of detail-wise filtering.
|
|
bool | IsBeltBased () const |
| Check if the filter requires a belt-wise iterating process.
|
|
const FBitMask & | GetTraitsMask () const |
| Get the included traits mask of the filter.
|
|
const FBitMask & | GetDetailsMask () const |
| Get the included details mask of the filter.
|
|
const FBitMask & | GetExcludedTraitsMask () const |
| Get the excluded traits mask of the filter.
|
|
const FBitMask & | GetExcludedDetailsMask () const |
| Get the excluded details mask of the filter.
|
|
UScriptStruct * | TraitAt (const int32 Index) const |
| Get an included trait by its index.
|
|
TSubclassOf< UDetail > | DetailAt (const int32 Index) const |
| Get an included detail by its index.
|
|
UScriptStruct * | ExcludedTraitAt (const int32 Index) const |
| Get an excluded trait by its index.
|
|
TSubclassOf< UDetail > | ExcludedDetailAt (const int32 Index) const |
| Get an excluded detail by its index.
|
|
int32 | IndexOf (UScriptStruct *const TraitType) const |
| Find the index of a specific trait type.
|
|
int32 | IndexOf (const TSubclassOf< UDetail > DetailClass) const |
| Find the index of a specific detail class.
|
|
template<typename AllocatorT > |
EApparatusStatus | IndicesOf (const TSubclassOf< UDetail > DetailClass, TArray< int32, AllocatorT > &OutIndices) const |
| Find the indices of a specific detail class.
|
|
void | Set (FFilter &&Filter) |
| Move a filter to this one.
|
|
void | Set (const FFilter &Filter) |
| Set a filter equal to another filter.
|
|
template<typename AllocatorT > |
void | Set (const TArray< UScriptStruct *, AllocatorT > &TraitTypes) |
| Set a filter to an array of trait types.
|
|
template<typename AllocatorT > |
void | Set (const TArray< TSubclassOf< UDetail >, AllocatorT > &DetailClasses) |
| Set a filter to an array of detail classes.
|
|
template<typename AllocatorT > |
void | Set (const TArray< UDetail *, AllocatorT > &Details) |
| Set a filter to an array of details.
|
|
FFilter & | operator= (const FFilter &Filter) |
| Set a filter equal to another filter.
|
|
FFilter & | operator= (FFilter &&Filter) |
| Move a filter to this one.
|
|
template<typename AllocatorT > |
FFilter & | operator= (const TArray< UScriptStruct *, AllocatorT > &TraitTypes) |
| Set a filter to an array of trait types.
|
|
template<typename AllocatorT > |
FFilter & | operator= (const TArray< TSubclassOf< UDetail >, AllocatorT > &DetailClasses) |
| Set the filter equal to an array of detail classes.
|
|
template<typename AllocatorT > |
FFilter & | operator= (const TArray< UDetail *, AllocatorT > &InDetails) |
| Set the filter equal to an array of active details.
|
|
bool | operator== (const FFilter &Other) const |
| Compare filters for equality.
|
|
bool | operator!= (const FFilter &Other) const |
| Compare filters for inequality.
|
|
bool | Identical (const FFilter *Other, uint32 PortFlags) const |
| Compare two filters for equality.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | Reset (const EFlagmark InFlagmark=DefaultFlagmark, const EFlagmark InExcludingFlagmark=DefaultExcludingFlagmark) |
| Clear the fingerprint without any deallocations.
|
|
bool | Matches (const FFilter &Filter) const |
| Check if the filter matches an another filter.
|
|
FString | ToString () const |
| Convert the filter to a string representation.
|
|
uint32 | CalcHash () const |
| Calculate the hash sum of the filter.
|
|
void | PostSerialize (const FArchive &Archive) |
| Post-serialize the filter updating its caches.
|
|
|
EFlagmark | GetFlagmark (const std::memory_order MemoryOrder=std::memory_order_relaxed) const |
| Get the current positive flagmark of the filter.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | SetFlagmark (const EFlagmark InFlagmark, const std::memory_order MemoryOrder=std::memory_order_relaxed) |
| Set the new positive, including flagmark.
|
|
|
template<EParadigm Paradigm = EParadigm::Default> |
auto | IncludeFlag (const EFlagmarkBit InBit) |
| Add a flag as an including one.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | IncludeFlagmark (const EFlagmark InFlagmark) |
| Add a flagmark as an including one.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm, FFilter & > | Include (const TArray< UScriptStruct *, AllocatorT > &TraitTypes) |
| Add an array of trait types as inclusions.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm, FFilter & > | Include (const TArray< TSubclassOf< UDetail >, AllocatorT > &DetailClasses) |
| Add an arrary of detail classes as inclusions.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | Include (std::initializer_list< UScriptStruct * > InTraitTypes) |
| Add a variadic list of trait types as inclusions.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | Include (std::initializer_list< TSubclassOf< UDetail > > InDetailClasses) |
| Add a variadic list of detail classes as inclusions.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm, FFilter & > | Include (const TArray< UDetail *, AllocatorT > &InDetails) |
| Add an array of active details as inclusions.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | Include (const FFingerprint &InFingerprint) |
| Include a fingerprint within the filter.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | Include (UScriptStruct *const TraitType) |
| Add a trait type.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | Include (const TSubclassOf< UDetail > DetailClass) |
| Add a detail class.
|
|
template<EParadigm Paradigm, typename T > |
TOutcome< Paradigm, FFilter & > | IncludeTrait () |
| Include a trait type within the filter.
|
|
template<typename T > |
auto | IncludeTrait () |
| Include a trait type within the filter.
|
|
template<EParadigm Paradigm, class D > |
TOutcome< Paradigm, FFilter & > | IncludeDetail () |
| Include a detail class within the filter.
|
|
template<class D > |
auto | IncludeDetail () |
| Include a detail class within the filter.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm, FFilter & > | Include () |
| Include component(s) within a filter.
|
|
template<class... Cs> |
auto | Include () |
| Include component(s) within a filter.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm, FFilter & > | Include (const EFlagmarkBit Flag) |
| Include component(s) alongside a flag within the filter.
|
|
template<class... Cs> |
auto | Include (const EFlagmarkBit Flag) |
| Include component(s) alongside a flag within the filter.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm, FFilter & > | Include (const EFlagmark Flagmark) |
| Include component(s) alongside a flagmark within the filter.
|
|
template<class... Cs> |
auto | Include (const EFlagmark Flagmark) |
| Include component(s) alongside a flagmark within the filter.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | RemoveInclusion (const EFlagmark InFlagmark) |
| Remove a flagmark inclusion from the filter specification.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | RemoveInclusion (UScriptStruct *const TraitType) |
| Remove a trait type from the filter specification.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | RemoveInclusion (const TSubclassOf< UDetail > DetailClass) |
| Remove a detail class from the filter specification.
|
|
template<EParadigm Paradigm, typename T > |
TOutcome< Paradigm > | RemoveTraitInclusion () |
| Remove an included trait from the filter.
|
|
template<typename T > |
auto | RemoveTraitInclusion () |
| Remove an included trait from the filter.
|
|
template<EParadigm Paradigm, class D > |
TOutcome< Paradigm > | RemoveDetailInclusion () |
| Remove an included detail from the filter.
|
|
template<class D > |
auto | RemoveDetailInclusion () |
| Remove an included detail from the filter.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm > | RemoveInclusion () |
| Remove the component(s) from the filter.
|
|
template<class... Cs> |
auto | RemoveInclusion () |
| Remove the component(s) from the filter.
|
|
FFilter & | operator+= (std::initializer_list< UScriptStruct * > InTraitTypes) |
| Include variadic trait types.
|
|
FFilter & | operator+= (std::initializer_list< TSubclassOf< UDetail > > InDetailClasses) |
| Include variadic detail classes.
|
|
FFilter & | operator+= (const FFingerprint &InFingerprint) |
| Include a fingerprint within the filter.
|
|
template<typename AllocatorT > |
FFilter & | operator+= (const TArray< UScriptStruct *, AllocatorT > &InTraitTypes) |
| Add an array of trait types.
|
|
template<typename AllocatorT > |
FFilter & | operator+= (const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses) |
| Add an array of detail classes.
|
|
template<typename AllocatorT > |
FFilter & | operator+= (const TArray< UDetail *, AllocatorT > &InDetails) |
| Add active details from an array.
|
|
FFilter & | operator+= (UScriptStruct *const TraitType) |
| Add a single trait type to the list of included traits.
|
|
FFilter & | operator+= (const TSubclassOf< UDetail > DetailClass) |
| Add a single detail class of included details.
|
|
|
FFilter & | Exclude (const EFlagmarkBit InBit, EApparatusStatus &OutStatus) |
| Add a flag as an excluding one.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | ExcludeFlag (const EFlagmarkBit InBit) |
| Add a flag as an excluding one.
|
|
FFilter & | Exclude (const EFlagmark InExcludingFlagmark, EApparatusStatus &OutStatus) |
| Add a flagmark as an excluding one.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | ExcludeFlagmark (const EFlagmark InExcludingFlagmark) |
| Add a flagmark as an excluding one.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | Exclude (UScriptStruct *const InExcludedTraitType) |
| Exclude a trait type from being matched.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm, FFilter & > | Exclude (const TSubclassOf< UDetail > InExcludedDetailClass) |
| Exclude a detail class from being matched.
|
|
template<EParadigm Paradigm, typename T > |
TOutcome< Paradigm, FFilter & > | ExcludeTrait () |
| Exclude a trait type from being matched.
|
|
template<typename T > |
auto | ExcludeTrait () |
| Exclude a trait type from being matched.
|
|
template<EParadigm Paradigm, class D > |
TOutcome< Paradigm, FFilter & > | ExcludeDetail () |
| Exclude a detail class from filtering.
|
|
template<class D > |
auto | ExcludeDetail () |
| Exclude a detail class from filtering.
|
|
template<class... Cs> |
FFilter & | Exclude (EApparatusStatus &OutStatus) |
| Exclude component(s) within the filter.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm, FFilter & > | Exclude () |
| Exclude component(s) within the filter.
|
|
template<class... Cs, EParadigm Paradigm = EParadigm::Default> |
auto | Exclude () |
| Exclude component(s) and a flagmark within the filter.
|
|
template<class... Cs> |
FFilter & | Exclude (const EFlagmark InExcludingFlagmark, EApparatusStatus &OutStatus) |
| Exclude component(s) and a flagmark within the filter.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm, FFilter & > | Exclude (const EFlagmark InExcludingFlagmark) |
| Exclude component(s) and a flagmark within the filter.
|
|
template<class... Cs, EParadigm Paradigm = EParadigm::Default> |
auto | Exclude (const EFlagmark InExcludingFlagmark) |
| Exclude component(s) and a flagmark within the filter.
|
|
template<class... Cs> |
FFilter & | Exclude (const EFlagmarkBit InExcludedFlagmarkBit, EApparatusStatus &OutStatus) |
| Exclude component(s) and a flagmark bit within the filter.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm, FFilter & > | Exclude (const EFlagmarkBit InExcludedFlagmarkBit) |
| Exclude component(s) and a flagmark bit within the filter.
|
|
template<class... Cs, EParadigm Paradigm = EParadigm::Default> |
auto | Exclude (const EFlagmarkBit InExcludedFlagmarkBit) |
| Exclude component(s) and a flagmark bit within the filter.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm, FFilter & > | Exclude (const TArray< UScriptStruct *, AllocatorT > &InExcludedTraitTypes) |
| Add an array of traits exclusions to the filter.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT = FDefaultAllocator> |
TOutcome< Paradigm, FFilter & > | ExcludeTraits (const TArray< UScriptStruct *, AllocatorT > &InExcludedTraitTypes) |
| Add an array of traits exclusions to the filter.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT > |
TOutcome< Paradigm, FFilter & > | Exclude (const TArray< TSubclassOf< UDetail >, AllocatorT > &InExcludedDetailClasses) |
| Add an array of details exclusions to the filter.
|
|
template<EParadigm Paradigm = EParadigm::Default, typename AllocatorT > |
TOutcome< Paradigm, FFilter & > | ExcludeDetails (const TArray< TSubclassOf< UDetail >, AllocatorT > &InExcludedDetailClasses) |
| Add an array of details exclusions to the filter.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | RemoveExclusion (const EFlagmark InFlagmark) |
| Remove an excluding flagmark from the filter specification.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | RemoveExclusion (UScriptStruct *const TraitType) |
| Remove an excluding trait type from the filter specification.
|
|
template<EParadigm Paradigm = EParadigm::Default> |
TOutcome< Paradigm > | RemoveExclusion (const TSubclassOf< UDetail > DetailClass) |
| Remove an excluding detail class from the filter specification.
|
|
template<EParadigm Paradigm, typename T > |
TOutcome< Paradigm > | RemoveTraitExclusion () |
| Remove an excluded trait from the filter.
|
|
template<typename T > |
auto | RemoveTraitExclusion () |
| Remove an excluded trait from the filter.
|
|
template<EParadigm Paradigm, class D > |
TOutcome< Paradigm > | RemoveDetailExclusion () |
| Remove an excluded detail from the filter.
|
|
template<class D > |
auto | RemoveDetailExclusion () |
| Remove an excluded detail from the filter.
|
|
template<EParadigm Paradigm, class... Cs> |
TOutcome< Paradigm > | RemoveExclusion () |
| Remove the excluding component(s) from the filter.
|
|
template<class... Cs> |
auto | RemoveExclusion () |
| Remove the excluding component(s) from the filter.
|
|
|
bool | Includes (const EFlagmarkBit InBit) const |
| Check whether a filter includes a certain flag.
|
|
bool | Includes (const EFlagmark InFlagmark) const |
| Check whether a filter includes all of the passed in flagmark flags.
|
|
bool | Includes (UScriptStruct *const TraitType) const |
| Check whether a filter contains a trait specification.
|
|
bool | Includes (const TSubclassOf< UDetail > DetailClass) const |
| Check whether a filter contains a detail specification.
|
|
template<typename T > |
bool | IncludesTrait () const |
| Check whether a filter contains a trait specification.
|
|
template<class D > |
bool | IncludesDetail () const |
| Check whether a filter contains a detail specification.
|
|
template<class... Cs> |
bool | Includes () const |
| Check if the filter includes all of the passed in components.
|
|
bool | Excludes (const EFlagmarkBit InBit) const |
| Check whether a filter excludes a flag.
|
|
bool | Excludes (const EFlagmark InFlagmark) const |
| Check whether a filter excludes all of the flagmark bits passed in.
|
|
bool | Excludes (UScriptStruct *const TraitType) const |
| Check if the filter excludes a specific trait type.
|
|
bool | Excludes (const TSubclassOf< UDetail > DetailClass) const |
| Check if the filter excludes a specific detail class.
|
|
template<typename T > |
bool | ExcludesTrait () const |
| Check if the filter excludes a specific trait type.
|
|
template<class D > |
bool | ExcludesDetail () const |
| Check if the filter excludes a specific detail class.
|
|
template<class... Cs> |
bool | Excludes () const |
| Check if the filter excludes all of the passed in components.
|
|
bool | HasConflicts () const |
| Check if there are any conflicts in the filter.
|
|
|
| FFilter (const EBootFilter InBootFilter) |
| Construct a new filter with a boot filter.
|
|
| FFilter (const EFlagmark InFlagmark=DefaultFlagmark, const EFlagmark InExcludingFlagmark=DefaultExcludingFlagmark) |
| Construct a new filter with optional flagmark specifications.
|
|
| FFilter (const EFlagmarkBit InFlagmarkBit) |
| Construct a new filter with a flagmark bit set.
|
|
| FFilter (const EFlagmarkBit InFlagmarkBit, const EFlagmarkBit InExcludingFlagmarkBit) |
| Construct a new filter with a flagmark bit set.
|
|
| FFilter (FFingerprint &&InFingerprint) |
| Construct a new filter while moving a fingerprint.
|
|
| FFilter (const FFingerprint &InFingerprint) |
| Construct a new filter based on a fingerprint.
|
|
| FFilter (UScriptStruct *const InTraitType, const EFlagmark InFlagmark=DefaultFlagmark) |
| Construct a new filter from a single trait type and an optional boot filter.
|
|
| FFilter (const TSubclassOf< UDetail > InDetailClass, const EFlagmark InFlagmark=DefaultFlagmark) |
| Construct a new filter from a single detail class and an optional boot filter.
|
|
template<typename AllocatorT > |
| FFilter (const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses, const EFlagmark InFlagmark=DefaultFlagmark) |
| Construct a filter from an array of types.
|
|
template<typename AllocatorT > |
| FFilter (const TArray< UDetail *, AllocatorT > &InDetailClasses, const EFlagmark InFlagmark=DefaultFlagmark) |
| Construct a filter from an array of details.
|
|
template<typename AllocatorT > |
| FFilter (const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses, const TArray< TSubclassOf< UDetail >, AllocatorT > &InExcludedDetailClasses, const EFlagmark InFlagmark=DefaultFlagmark, const EFlagmark InExcludingFlagmark=DefaultExcludingFlagmark) |
| Construct a filter from an array of types and excluded types.
|
|
template<typename AllocatorT > |
| FFilter (const TArray< UScriptStruct *, AllocatorT > &InTraitTypes, const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses, const EFlagmark InFlagmark=DefaultFlagmark, const EFlagmark InExcludingFlagmark=DefaultExcludingFlagmark) |
| Construct a filter from arrays of traits and details.
|
|
| FFilter (std::initializer_list< UScriptStruct * > InTraitTypes, std::initializer_list< TSubclassOf< UDetail > > InDetailClasses, const EFlagmark InFlagmark=DefaultFlagmark) |
| Construct a filter from initializer lists of traits and details.
|
|
template<typename AllocatorT > |
| FFilter (const TArray< UScriptStruct *, AllocatorT > &InTraitTypes, const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses, const TArray< TSubclassOf< UDetail >, AllocatorT > &InExcludedDetailClasses, const EFlagmark InFlagmark=DefaultFlagmark, const EFlagmark InExcludingFlagmark=DefaultExcludingFlagmark) |
| Construct a filter from arrays of details and traits and exclusions.
|
|
template<typename AllocatorT > |
| FFilter (const TArray< UScriptStruct *, AllocatorT > &InTraitTypes, const TArray< TSubclassOf< UDetail >, AllocatorT > &InDetailClasses, const TArray< UScriptStruct *, AllocatorT > &InExcludedTraitTypes, const TArray< TSubclassOf< UDetail >, AllocatorT > &InExcludedDetailClasses, const EFlagmark InFlagmark=DefaultFlagmark, const EFlagmark InExcludingFlagmark=DefaultExcludingFlagmark) |
| Construct a filter from arrays of details and traits and exclusions.
|
|
| FFilter (FFilter &&InFilter) |
| Moves an existing filter.
|
|
| FFilter (const FFilter &InFilter) |
| Initializes the filter as a copy of another one.
|
|
template<typename ... Cs> |
| FFilter (const TFilter< Cs... > &InFilter) |
| Convert from a generic filter.
|
|
template<typename ... Ts> |
static FFilter | Make (const EFlagmark InFlagmark=DefaultFlagmark, const EFlagmark InExcludingFlagmark=DefaultExcludingFlagmark) |
| Make a new filter with a list of components.
|
|
template<typename... Ts> |
static FFilter | Make (const EFlagmarkBit InFlagmarkBit) |
| Make a new filter with a list of components.
|
|
template<typename... Ts> |
static FFilter | Make (const EFlagmarkBit InFlagmarkBit, const EFlagmarkBit InExcludingFlagmarkBit) |
| Make a new filter with a list of components.
|
|