Apparatus Version 1.8
ECS data-oriented workflow for Unreal Engine.
Classes | Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
FFilter Struct Reference

The details filter specification. More...

#include <Filter.h>

Collaboration diagram for FFilter:
Collaboration graph
[legend]

Public Types

typedef FFingerprint::TraitsType TraitsType
 The type of traits array. More...
 
typedef FFingerprint::DetailsType DetailsType
 The type of details array. More...
 

Public Member Functions

EBootFilter GetBootFilter () const
 Get the active boot filter. More...
 
EApparatusStatus SetBootFilter (EBootFilter NewBootFilter)
 Set the new active boot filter. More...
 
const FTraitmarkGetTraitmark () const
 Get the inclusive traitmark of the filter. More...
 
const FDetailmarkGetDetailmark () const
 Get the inclusive detailmark of the filter. More...
 
const FFingerprintGetFingerprint () const
 Get the inclusive fingerprint of the filter. More...
 
const TraitsTypeGetTraits () const
 Get the included traits of the filter. More...
 
const DetailsTypeGetDetails () const
 Get the included details of the filter. More...
 
const TraitsTypeGetExcludedTraits () const
 Get the excluded traits of the filter. More...
 
const DetailsTypeGetExcludedDetails () const
 Get the excluded details of the filter. More...
 
int32 TraitsNum () const
 The number of included traits in the filter. More...
 
int32 DetailsNum () const
 The number of included details in the filter. More...
 
int32 ExcludedTraitsNum () const
 The number of excluded traits in the filter. More...
 
int32 ExcludedDetailsNum () const
 The number of excluded details in the filter. More...
 
bool IsTraitWise () const
 Check if there is some kind of trait-wise filtering. More...
 
bool IsDetailWise () const
 Check if there is some kind of detail-wise filtering. More...
 
const FBitMaskGetTraitsMask () const
 Get the included traits mask of the filter. More...
 
const FBitMaskGetDetailsMask () const
 Get the included details mask of the filter. More...
 
const FBitMaskGetExcludedTraitsMask () const
 Get the excluded traits mask of the filter. More...
 
const FBitMaskGetExcludedDetailsMask () const
 Get the excluded details mask of the filter. More...
 
UScriptStruct * TraitAt (const int32 Index) const
 Get an included trait by its index. More...
 
TSubclassOf< UDetailDetailAt (const int32 Index) const
 Get an included detail by its index. More...
 
UScriptStruct * ExcludedTraitAt (const int32 Index) const
 Get an excluded trait by its index. More...
 
TSubclassOf< UDetailExcludedDetailAt (const int32 Index) const
 Get an excluded detail by its index. More...
 
bool IsViable () const
 Check if the filter is viable and can actually be passed by some iterable. More...
 
 operator bool () const
 Check if the filter is viable. More...
 
int32 IndexOf (UScriptStruct *const TraitType) const
 Find the index of a specific trait type. More...
 
int32 IndexOf (const TSubclassOf< UDetail > DetailClass) const
 Find the index of a specific detail class. More...
 
template<typename TAllocator >
EApparatusStatus IndicesOf (const TSubclassOf< UDetail > DetailClass, TArray< int32, TAllocator > &OutIndices) const
 Find the indices of a specific detail class. More...
 
void Set (FFilter &&Filter)
 Move a filter to this one. More...
 
void Set (const FFilter &Filter)
 Set a filter equal to another filter. More...
 
template<typename TAllocator >
void Set (const TArray< UScriptStruct *, TAllocator > &TraitTypes)
 Set a filter to an array of trait types. More...
 
template<typename TAllocator >
void Set (const TArray< TSubclassOf< UDetail >, TAllocator > &DetailClasses)
 Set a filter to an array of detail classes. More...
 
template<typename TAllocator >
void Set (const TArray< UDetail *, TAllocator > &Details)
 Set a filter to an array of details. More...
 
FFilteroperator= (const FFilter &Filter)
 Set a filter equal to another filter. More...
 
FFilteroperator= (FFilter &&Filter)
 Move a filter to this one. More...
 
template<typename TAllocator >
FFilteroperator= (const TArray< UScriptStruct *, TAllocator > &TraitTypes)
 Set a filter to an array of trait types. More...
 
template<typename TAllocator >
FFilteroperator= (const TArray< TSubclassOf< UDetail >> &DetailClasses)
 Set the filter equal to an array of detail classes. More...
 
template<typename TAllocator >
FFilteroperator= (const TArray< UDetail *, TAllocator > &InDetails)
 Set the filter equal to an array of active details. More...
 
template<typename TAllocator >
EApparatusStatus Include (const TArray< UScriptStruct *, TAllocator > &TraitTypes)
 Add an arrary of trait types as inclusions. More...
 
template<typename TAllocator >
EApparatusStatus Include (const TArray< TSubclassOf< UDetail >, TAllocator > &DetailClasses)
 Add an arrary of detail classes as inclusions. More...
 
EApparatusStatus Include (std::initializer_list< UScriptStruct * > TraitTypes)
 Add a variadic list of trait types as inclusions. More...
 
EApparatusStatus Include (std::initializer_list< TSubclassOf< UDetail >> DetailClasses)
 Add a variadic list of detail classes as inclusions. More...
 
template<typename TAllocator >
EApparatusStatus Include (const TArray< UDetail *, TAllocator > &Details)
 Add an array of details as inclusions. More...
 
EApparatusStatus Include (const FFingerprint &InFingerprint)
 Include a fingerprint within the filter. More...
 
EApparatusStatus Include (UScriptStruct *const TraitType)
 Add a trait type. More...
 
EApparatusStatus Include (const TSubclassOf< UDetail > DetailClass)
 Add a detail class. More...
 
template<typename T >
EApparatusStatus IncludeTrait ()
 Include a trait type within the filter. More...
 
template<class D >
EApparatusStatus IncludeDetail ()
 Include a detail class within the filter. More...
 
template<class ... Ts>
EApparatusStatus Include ()
 Include component(s) within a filter. More...
 
EApparatusStatus Exclude (UScriptStruct *const InExcludedTraitType)
 
EApparatusStatus Exclude (const TSubclassOf< UDetail > InExcludedDetailClass)
 
template<typename T >
EApparatusStatus ExcludeTrait ()
 
template<class D >
EApparatusStatus ExcludeDetail ()
 
template<class ... Ts>
EApparatusStatus Exclude ()
 Exclude component(s) within a filter. More...
 
template<typename TAllocator >
EApparatusStatus Exclude (const TArray< UScriptStruct *, TAllocator > &InExcludedTraitTypes)
 
template<typename TAllocator >
EApparatusStatus Exclude (const TArray< TSubclassOf< UDetail >, TAllocator > &InExcludedDetailClasses)
 
bool Includes (UScriptStruct *TraitType) const
 Check whether a filter contains a trait specification. More...
 
bool Includes (const TSubclassOf< UDetail > DetailClass) const
 Check whether a filter contains a detail specification. More...
 
bool Excludes (UScriptStruct *TraitType) const
 Check if the filter excludes a specific trait type. More...
 
bool Excludes (const TSubclassOf< UDetail > DetailClass) const
 Check if the filter excludes a specific detail class. More...
 
bool HasConflicts () const
 Check if there are any conflicts in the filter. More...
 
FFilteroperator+= (std::initializer_list< UScriptStruct * > TraitTypes)
 Include variadic detail types. More...
 
FFilteroperator+= (std::initializer_list< TSubclassOf< UDetail >> DetailClasses)
 Include variadic detail types. More...
 
FFilteroperator+= (const struct FFingerprint &InFingerprint)
 Include a fingerprint within the filter. More...
 
template<typename TAllocator >
FFilteroperator+= (const TArray< UScriptStruct *, TAllocator > &TraitTypes)
 Add an array of trait types. More...
 
template<typename TAllocator >
FFilteroperator+= (const TArray< TSubclassOf< UDetail >, TAllocator > &DetailClasses)
 Add an array of detail classes. More...
 
template<typename TAllocator >
FFilteroperator+= (const TArray< UDetail *, TAllocator > &InDetails)
 Add active details from an array. More...
 
FFilteroperator+= (UScriptStruct *TraitType)
 Add a single trait type to the list of included traits. More...
 
FFilteroperator+= (TSubclassOf< UDetail > DetailClass)
 Add a single detail class of included details. More...
 
EApparatusStatus RemoveInclusion (UScriptStruct *const TraitType)
 Remove a trait type from the filter specification. More...
 
EApparatusStatus RemoveInclusion (const TSubclassOf< UDetail > DetailClass)
 Remove a detail class from the filter specification. More...
 
template<class T >
EApparatusStatus RemoveTraitInclusion ()
 Remove an included trait from the filter. More...
 
template<class T >
EApparatusStatus RemoveDetailInclusion ()
 Remove an included detail from the filter. More...
 
EApparatusStatus Reset (const EBootFilter InBootFilter=DefaultBootFilter)
 Clear the fingerprint without any deallocations. More...
 
bool Matches (const FFilter &Filter) const
 Check if the filter matches an another filter. More...
 
FString ToString () const
 Convert a fingerprint to a string. More...
 
uint32 CalcHash () const
 Calculate the hash sum of the filter. More...
 
 FFilter (const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a new filter with an optional boot filter. More...
 
 FFilter (FFingerprint &&InFingerprint)
 Construct a new filter while moving a fingerprint. More...
 
 FFilter (const FFingerprint &InFingerprint)
 Construct a new filter based on a fingerprint. More...
 
 FFilter (UScriptStruct *const InTraitType, const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a new filter from a single trait type and an optional boot filter. More...
 
 FFilter (const TSubclassOf< UDetail > InDetailClass, const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a new filter from a single detail class and an optional boot filter. More...
 
template<typename TAllocator >
 FFilter (const TArray< TSubclassOf< UDetail >, TAllocator > &InDetailClasses, const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a filter from an array of types. More...
 
template<typename TAllocator >
 FFilter (const TArray< UDetail *, TAllocator > &InDetailClasses, const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a filter from an array of details. More...
 
template<typename TAllocator >
 FFilter (const TArray< TSubclassOf< UDetail >, TAllocator > &InDetailClasses, const TArray< TSubclassOf< UDetail >, TAllocator > &InExcludedDetailClasses, const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a filter from an array of types and excluded types. More...
 
template<typename TAllocator >
 FFilter (const TArray< UScriptStruct *, TAllocator > &InTraitTypes, const TArray< TSubclassOf< UDetail >, TAllocator > &InDetailClasses, const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a filter from arrays of traits and details. More...
 
 FFilter (std::initializer_list< UScriptStruct * > InTraitTypes, std::initializer_list< TSubclassOf< UDetail >> InDetailClasses, const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a filter from initializer lists of traits and details. More...
 
template<typename TAllocator >
 FFilter (const TArray< UScriptStruct *, TAllocator > &InTraitTypes, const TArray< TSubclassOf< UDetail >, TAllocator > &InDetailClasses, const TArray< TSubclassOf< UDetail >, TAllocator > &InExcludedDetailClasses, const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a filter from arrays of details and traits and exclusions. More...
 
template<typename TAllocator >
 FFilter (const TArray< UScriptStruct *, TAllocator > &InTraitTypes, const TArray< TSubclassOf< UDetail >, TAllocator > &InDetailClasses, const TArray< UScriptStruct *, TAllocator > &InExcludedTraitTypes, const TArray< TSubclassOf< UDetail >, TAllocator > &InExcludedDetailClasses, const EBootFilter InBootFilter=DefaultBootFilter)
 Construct a filter from arrays of details and traits and exclusions. More...
 
 FFilter (FFilter &&InFilter)
 Moves an existing filter. More...
 
 FFilter (const FFilter &InFilter)
 Initializes the filter as a copy of another one. More...
 

Static Public Attributes

static constexpr EBootFilter DefaultBootFilter = EBootFilter::Booted
 The default boot filter used. More...
 
static const FFilter Zero
 Empty filter specification. More...
 

Friends

class UBelt
 
class UMachine
 
class UApparatusFunctionLibrary
 
uint32 GetTypeHash (const FFilter &Filter)
 Get the hash of a filter. More...
 
bool operator== (const FFilter &A, const FFilter &B)
 
bool operator!= (const FFilter &A, const FFilter &B)
 

Detailed Description

The details filter specification.

Member Typedef Documentation

◆ DetailsType

The type of details array.

◆ TraitsType

The type of traits array.

Constructor & Destructor Documentation

◆ FFilter() [1/14]

FFilter::FFilter ( const EBootFilter  InBootFilter = DefaultBootFilter)
inline

Construct a new filter with an optional boot filter.

◆ FFilter() [2/14]

FFilter::FFilter ( FFingerprint &&  InFingerprint)
inline

Construct a new filter while moving a fingerprint.

◆ FFilter() [3/14]

FFilter::FFilter ( const FFingerprint InFingerprint)
inline

Construct a new filter based on a fingerprint.

◆ FFilter() [4/14]

FFilter::FFilter ( UScriptStruct *const  InTraitType,
const EBootFilter  InBootFilter = DefaultBootFilter 
)
inline

Construct a new filter from a single trait type and an optional boot filter.

◆ FFilter() [5/14]

FFilter::FFilter ( const TSubclassOf< UDetail InDetailClass,
const EBootFilter  InBootFilter = DefaultBootFilter 
)
inline

Construct a new filter from a single detail class and an optional boot filter.

◆ FFilter() [6/14]

template<typename TAllocator >
FFilter::FFilter ( const TArray< TSubclassOf< UDetail >, TAllocator > &  InDetailClasses,
const EBootFilter  InBootFilter = DefaultBootFilter 
)
inline

Construct a filter from an array of types.

◆ FFilter() [7/14]

template<typename TAllocator >
FFilter::FFilter ( const TArray< UDetail *, TAllocator > &  InDetailClasses,
const EBootFilter  InBootFilter = DefaultBootFilter 
)
inline

Construct a filter from an array of details.

◆ FFilter() [8/14]

template<typename TAllocator >
FFilter::FFilter ( const TArray< TSubclassOf< UDetail >, TAllocator > &  InDetailClasses,
const TArray< TSubclassOf< UDetail >, TAllocator > &  InExcludedDetailClasses,
const EBootFilter  InBootFilter = DefaultBootFilter 
)
inline

Construct a filter from an array of types and excluded types.

◆ FFilter() [9/14]

template<typename TAllocator >
FFilter::FFilter ( const TArray< UScriptStruct *, TAllocator > &  InTraitTypes,
const TArray< TSubclassOf< UDetail >, TAllocator > &  InDetailClasses,
const EBootFilter  InBootFilter = DefaultBootFilter 
)
inline

Construct a filter from arrays of traits and details.

◆ FFilter() [10/14]

FFilter::FFilter ( std::initializer_list< UScriptStruct * >  InTraitTypes,
std::initializer_list< TSubclassOf< UDetail >>  InDetailClasses,
const EBootFilter  InBootFilter = DefaultBootFilter 
)
inline

Construct a filter from initializer lists of traits and details.

◆ FFilter() [11/14]

template<typename TAllocator >
FFilter::FFilter ( const TArray< UScriptStruct *, TAllocator > &  InTraitTypes,
const TArray< TSubclassOf< UDetail >, TAllocator > &  InDetailClasses,
const TArray< TSubclassOf< UDetail >, TAllocator > &  InExcludedDetailClasses,
const EBootFilter  InBootFilter = DefaultBootFilter 
)
inline

Construct a filter from arrays of details and traits and exclusions.

◆ FFilter() [12/14]

template<typename TAllocator >
FFilter::FFilter ( const TArray< UScriptStruct *, TAllocator > &  InTraitTypes,
const TArray< TSubclassOf< UDetail >, TAllocator > &  InDetailClasses,
const TArray< UScriptStruct *, TAllocator > &  InExcludedTraitTypes,
const TArray< TSubclassOf< UDetail >, TAllocator > &  InExcludedDetailClasses,
const EBootFilter  InBootFilter = DefaultBootFilter 
)
inline

Construct a filter from arrays of details and traits and exclusions.

◆ FFilter() [13/14]

FFilter::FFilter ( FFilter &&  InFilter)
inline

Moves an existing filter.

◆ FFilter() [14/14]

FFilter::FFilter ( const FFilter InFilter)
inline

Initializes the filter as a copy of another one.

Member Function Documentation

◆ CalcHash()

uint32 FFilter::CalcHash ( ) const
inline

Calculate the hash sum of the filter.

◆ DetailAt()

TSubclassOf<UDetail> FFilter::DetailAt ( const int32  Index) const
inline

Get an included detail by its index.

◆ DetailsNum()

int32 FFilter::DetailsNum ( ) const
inline

The number of included details in the filter.

◆ Exclude() [1/5]

template<class ... Ts>
EApparatusStatus FFilter::Exclude ( )
inline

Exclude component(s) within a filter.

Templated version.

Returns
The status of the operation.

◆ Exclude() [2/5]

template<typename TAllocator >
EApparatusStatus FFilter::Exclude ( const TArray< TSubclassOf< UDetail >, TAllocator > &  InExcludedDetailClasses)
inline

◆ Exclude() [3/5]

template<typename TAllocator >
EApparatusStatus FFilter::Exclude ( const TArray< UScriptStruct *, TAllocator > &  InExcludedTraitTypes)
inline

◆ Exclude() [4/5]

EApparatusStatus FFilter::Exclude ( const TSubclassOf< UDetail InExcludedDetailClass)
inline

◆ Exclude() [5/5]

EApparatusStatus FFilter::Exclude ( UScriptStruct *const  InExcludedTraitType)
inline

◆ ExcludedDetailAt()

TSubclassOf<UDetail> FFilter::ExcludedDetailAt ( const int32  Index) const
inline

Get an excluded detail by its index.

◆ ExcludedDetailsNum()

int32 FFilter::ExcludedDetailsNum ( ) const
inline

The number of excluded details in the filter.

◆ ExcludeDetail()

template<class D >
EApparatusStatus FFilter::ExcludeDetail ( )
inline

◆ ExcludedTraitAt()

UScriptStruct* FFilter::ExcludedTraitAt ( const int32  Index) const
inline

Get an excluded trait by its index.

◆ ExcludedTraitsNum()

int32 FFilter::ExcludedTraitsNum ( ) const
inline

The number of excluded traits in the filter.

◆ Excludes() [1/2]

bool FFilter::Excludes ( const TSubclassOf< UDetail DetailClass) const
inline

Check if the filter excludes a specific detail class.

◆ Excludes() [2/2]

bool FFilter::Excludes ( UScriptStruct *  TraitType) const
inline

Check if the filter excludes a specific trait type.

◆ ExcludeTrait()

template<typename T >
EApparatusStatus FFilter::ExcludeTrait ( )
inline

◆ GetBootFilter()

EBootFilter FFilter::GetBootFilter ( ) const
inline

Get the active boot filter.

◆ GetDetailmark()

const FDetailmark& FFilter::GetDetailmark ( ) const
inline

Get the inclusive detailmark of the filter.

◆ GetDetails()

const DetailsType& FFilter::GetDetails ( ) const
inline

Get the included details of the filter.

◆ GetDetailsMask()

const FBitMask& FFilter::GetDetailsMask ( ) const
inline

Get the included details mask of the filter.

◆ GetExcludedDetails()

const DetailsType& FFilter::GetExcludedDetails ( ) const
inline

Get the excluded details of the filter.

◆ GetExcludedDetailsMask()

const FBitMask& FFilter::GetExcludedDetailsMask ( ) const
inline

Get the excluded details mask of the filter.

◆ GetExcludedTraits()

const TraitsType& FFilter::GetExcludedTraits ( ) const
inline

Get the excluded traits of the filter.

◆ GetExcludedTraitsMask()

const FBitMask& FFilter::GetExcludedTraitsMask ( ) const
inline

Get the excluded traits mask of the filter.

◆ GetFingerprint()

const FFingerprint& FFilter::GetFingerprint ( ) const
inline

Get the inclusive fingerprint of the filter.

◆ GetTraitmark()

const FTraitmark& FFilter::GetTraitmark ( ) const
inline

Get the inclusive traitmark of the filter.

◆ GetTraits()

const TraitsType& FFilter::GetTraits ( ) const
inline

Get the included traits of the filter.

◆ GetTraitsMask()

const FBitMask& FFilter::GetTraitsMask ( ) const
inline

Get the included traits mask of the filter.

◆ HasConflicts()

bool FFilter::HasConflicts ( ) const
inline

Check if there are any conflicts in the filter.

◆ Include() [1/9]

template<class ... Ts>
EApparatusStatus FFilter::Include ( )
inline

Include component(s) within a filter.

Templated version.

Returns
The status of the operation.

◆ Include() [2/9]

EApparatusStatus FFilter::Include ( const FFingerprint InFingerprint)
inline

Include a fingerprint within the filter.

◆ Include() [3/9]

template<typename TAllocator >
EApparatusStatus FFilter::Include ( const TArray< TSubclassOf< UDetail >, TAllocator > &  DetailClasses)
inline

Add an arrary of detail classes as inclusions.

◆ Include() [4/9]

template<typename TAllocator >
EApparatusStatus FFilter::Include ( const TArray< UDetail *, TAllocator > &  Details)
inline

Add an array of details as inclusions.

◆ Include() [5/9]

template<typename TAllocator >
EApparatusStatus FFilter::Include ( const TArray< UScriptStruct *, TAllocator > &  TraitTypes)
inline

Add an arrary of trait types as inclusions.

◆ Include() [6/9]

EApparatusStatus FFilter::Include ( const TSubclassOf< UDetail DetailClass)
inline

Add a detail class.

Parameters
DetailClassA class of the detail to add.
Returns
The status of the operation.

◆ Include() [7/9]

EApparatusStatus FFilter::Include ( std::initializer_list< TSubclassOf< UDetail >>  DetailClasses)
inline

Add a variadic list of detail classes as inclusions.

◆ Include() [8/9]

EApparatusStatus FFilter::Include ( std::initializer_list< UScriptStruct * >  TraitTypes)
inline

Add a variadic list of trait types as inclusions.

◆ Include() [9/9]

EApparatusStatus FFilter::Include ( UScriptStruct *const  TraitType)
inline

Add a trait type.

Parameters
TraitTypeA type of the trait to add.
Returns
The status of the operation.

◆ IncludeDetail()

template<class D >
EApparatusStatus FFilter::IncludeDetail ( )
inline

Include a detail class within the filter.

Templated version.

◆ Includes() [1/2]

bool FFilter::Includes ( const TSubclassOf< UDetail DetailClass) const
inline

Check whether a filter contains a detail specification.

◆ Includes() [2/2]

bool FFilter::Includes ( UScriptStruct *  TraitType) const
inline

Check whether a filter contains a trait specification.

◆ IncludeTrait()

template<typename T >
EApparatusStatus FFilter::IncludeTrait ( )
inline

Include a trait type within the filter.

Templated version.

◆ IndexOf() [1/2]

int32 FFilter::IndexOf ( const TSubclassOf< UDetail DetailClass) const
inline

Find the index of a specific detail class.

Supports parent classes.

◆ IndexOf() [2/2]

int32 FFilter::IndexOf ( UScriptStruct *const  TraitType) const
inline

Find the index of a specific trait type.

◆ IndicesOf()

template<typename TAllocator >
EApparatusStatus FFilter::IndicesOf ( const TSubclassOf< UDetail DetailClass,
TArray< int32, TAllocator > &  OutIndices 
) const
inline

Find the indices of a specific detail class.

Supports parent classes.

◆ IsDetailWise()

bool FFilter::IsDetailWise ( ) const
inline

Check if there is some kind of detail-wise filtering.

◆ IsTraitWise()

bool FFilter::IsTraitWise ( ) const
inline

Check if there is some kind of trait-wise filtering.

◆ IsViable()

bool FFilter::IsViable ( ) const
inline

Check if the filter is viable and can actually be passed by some iterable.

◆ Matches()

bool FFilter::Matches ( const FFilter Filter) const
inline

Check if the filter matches an another filter.

◆ operator bool()

FFilter::operator bool ( ) const
inline

Check if the filter is viable.

◆ operator+=() [1/8]

FFilter& FFilter::operator+= ( const struct FFingerprint InFingerprint)
inline

Include a fingerprint within the filter.

◆ operator+=() [2/8]

template<typename TAllocator >
FFilter& FFilter::operator+= ( const TArray< TSubclassOf< UDetail >, TAllocator > &  DetailClasses)
inline

Add an array of detail classes.

◆ operator+=() [3/8]

template<typename TAllocator >
FFilter& FFilter::operator+= ( const TArray< UDetail *, TAllocator > &  InDetails)
inline

Add active details from an array.

◆ operator+=() [4/8]

template<typename TAllocator >
FFilter& FFilter::operator+= ( const TArray< UScriptStruct *, TAllocator > &  TraitTypes)
inline

Add an array of trait types.

◆ operator+=() [5/8]

FFilter& FFilter::operator+= ( std::initializer_list< TSubclassOf< UDetail >>  DetailClasses)
inline

Include variadic detail types.

◆ operator+=() [6/8]

FFilter& FFilter::operator+= ( std::initializer_list< UScriptStruct * >  TraitTypes)
inline

Include variadic detail types.

◆ operator+=() [7/8]

FFilter& FFilter::operator+= ( TSubclassOf< UDetail DetailClass)
inline

Add a single detail class of included details.

◆ operator+=() [8/8]

FFilter& FFilter::operator+= ( UScriptStruct *  TraitType)
inline

Add a single trait type to the list of included traits.

◆ operator=() [1/5]

FFilter& FFilter::operator= ( const FFilter Filter)
inline

Set a filter equal to another filter.

◆ operator=() [2/5]

template<typename TAllocator >
FFilter& FFilter::operator= ( const TArray< TSubclassOf< UDetail >> &  DetailClasses)
inline

Set the filter equal to an array of detail classes.

Preserves the current boot filter.

◆ operator=() [3/5]

template<typename TAllocator >
FFilter& FFilter::operator= ( const TArray< UDetail *, TAllocator > &  InDetails)
inline

Set the filter equal to an array of active details.

◆ operator=() [4/5]

template<typename TAllocator >
FFilter& FFilter::operator= ( const TArray< UScriptStruct *, TAllocator > &  TraitTypes)
inline

Set a filter to an array of trait types.

Preserves the current boot filter.

◆ operator=() [5/5]

FFilter& FFilter::operator= ( FFilter &&  Filter)
inline

Move a filter to this one.

◆ RemoveDetailInclusion()

template<class T >
EApparatusStatus FFilter::RemoveDetailInclusion ( )
inline

Remove an included detail from the filter.

Returns
The status of the operation.

◆ RemoveInclusion() [1/2]

EApparatusStatus FFilter::RemoveInclusion ( const TSubclassOf< UDetail DetailClass)
inline

Remove a detail class from the filter specification.

Even the base matching details will be removed. The result is that the resulting filter won't contain that passed detail class.

Parameters
DetailClassA detail class to remove. May be a base class.
Returns
The status of the operation.

◆ RemoveInclusion() [2/2]

EApparatusStatus FFilter::RemoveInclusion ( UScriptStruct *const  TraitType)
inline

Remove a trait type from the filter specification.

Parameters
TraitTypeA trait type to remove.
Returns
The status of the operation.

◆ RemoveTraitInclusion()

template<class T >
EApparatusStatus FFilter::RemoveTraitInclusion ( )
inline

Remove an included trait from the filter.

Returns
The status of the operation.

◆ Reset()

EApparatusStatus FFilter::Reset ( const EBootFilter  InBootFilter = DefaultBootFilter)
inline

Clear the fingerprint without any deallocations.

◆ Set() [1/5]

void FFilter::Set ( const FFilter Filter)
inline

Set a filter equal to another filter.

◆ Set() [2/5]

template<typename TAllocator >
void FFilter::Set ( const TArray< TSubclassOf< UDetail >, TAllocator > &  DetailClasses)
inline

Set a filter to an array of detail classes.

Preserves the current boot filter.

◆ Set() [3/5]

template<typename TAllocator >
void FFilter::Set ( const TArray< UDetail *, TAllocator > &  Details)
inline

Set a filter to an array of details.

Preserves the current boot filter.

◆ Set() [4/5]

template<typename TAllocator >
void FFilter::Set ( const TArray< UScriptStruct *, TAllocator > &  TraitTypes)
inline

Set a filter to an array of trait types.

Preserves the current boot filter.

◆ Set() [5/5]

void FFilter::Set ( FFilter &&  Filter)
inline

Move a filter to this one.

◆ SetBootFilter()

EApparatusStatus FFilter::SetBootFilter ( EBootFilter  NewBootFilter)
inline

Set the new active boot filter.

◆ ToString()

FString FFilter::ToString ( ) const

Convert a fingerprint to a string.

◆ TraitAt()

UScriptStruct* FFilter::TraitAt ( const int32  Index) const
inline

Get an included trait by its index.

◆ TraitsNum()

int32 FFilter::TraitsNum ( ) const
inline

The number of included traits in the filter.

Friends And Related Function Documentation

◆ GetTypeHash

uint32 GetTypeHash ( const FFilter Filter)
friend

Get the hash of a filter.

◆ operator!=

bool operator!= ( const FFilter A,
const FFilter B 
)
friend

◆ operator==

bool operator== ( const FFilter A,
const FFilter B 
)
friend

◆ UApparatusFunctionLibrary

friend class UApparatusFunctionLibrary
friend

◆ UBelt

friend class UBelt
friend

◆ UMachine

friend class UMachine
friend

Member Data Documentation

◆ DefaultBootFilter

constexpr EBootFilter FFilter::DefaultBootFilter = EBootFilter::Booted
staticconstexpr

The default boot filter used.

◆ Zero

const FFilter FFilter::Zero
static

Empty filter specification.


The documentation for this struct was generated from the following file: