|
constexpr int32 | GetPartMappingSize () const |
| Get the current size of the hinting mapping.
|
|
template<EParadigm RemappingParadigm = EParadigm::Safe> |
int32 | RemapPartIndex (const int32 PartIndex) const |
| Remap a part index hint using the current mapping.
|
|
TCursor & | operator= (TCursor &&InCursor) |
| Move a cursor.
|
|
TCursor & | operator= (const TCursor &InCursor) |
| Copy a cursor.
|
|
const TChain * | GetOwner () const |
| Get the owning chain of the cursor.
|
|
UClass * | GetIterableClass () const |
| Get the target sequence class.
|
|
bool | IsViable () const |
| Check if the cursor is viable and has not finished the iterating.
|
|
| operator bool () const |
| Check if the cursor is viable.
|
|
void | Reset () |
| Detach the cursor from the chain making it an invalid one.
|
|
bool | Begin () |
| Begin iterating with the cursor using the current range.
|
|
bool | Begin (const int32 InOffset, const int32 InLimit=TNumericLimits< int32 >::Max()) |
| Begin iterating with the cursor using the supplied range.
|
|
bool | Advance () |
| Advance the iterator to the next slot.
|
|
bool | Provide () |
| Begin or advance iterating the chain using this cursor.
|
|
SubjectHandleType | GetSubject () const |
| Get the subject of the current iteration.
|
|
SubjectivePtrType | GetSubjective () const |
| Get the subjective of the current iteration of the cursor.
|
|
template<EParadigm Paradigm = DefaultParadigm, more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitVoidPtrResult< Paradigm > > | GetTraitPtr (UScriptStruct *const TraitType) const |
| Get a trait pointer of a certain type at the current cursor position.
|
|
template<EParadigm Paradigm, typename T , more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitPtrResult< Paradigm, T > > | GetTraitPtr () const |
| Get a trait pointer of a certain type.
|
|
template<typename T , EParadigm Paradigm = DefaultParadigm, more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitPtrResult< Paradigm, T > > | GetTraitPtr () const |
| Get a trait pointer of a certain type.
|
|
template<EParadigm Paradigm, typename T , more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitRefResult< Paradigm, T > > | GetTraitRef () const |
| Get a trait reference of a certain type.
|
|
template<typename T , EParadigm Paradigm = DefaultParadigm, more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitRefResult< Paradigm, T > > | GetTraitRef () const |
| Get a trait reference of a certain type.
|
|
template<EParadigm Paradigm, typename T > |
TOutcome< Paradigm, T > | GetTrait () const |
| Get a trait copy of a certain type.
|
|
template<typename T , EParadigm Paradigm = DefaultParadigm> |
auto | GetTrait () const |
| Get a trait copy of a certain type.
|
|
template<EParadigm Paradigm = DefaultParadigm> |
TOutcome< Paradigm > | GetTrait (UScriptStruct *const TraitType, void *const OutTraitData, const bool bTraitDataInitialized=true) const |
| Get a trait of a certain type.
|
|
template<EParadigm Paradigm, typename T > |
TOutcome< Paradigm > | GetTrait (T &OutTraitData, const bool bTraitDataInitialized=true) const |
| Get a trait of a certain type.
|
|
template<typename T , EParadigm Paradigm = DefaultParadigm> |
auto | GetTrait (T &OutTraitData, const bool bTraitDataInitialized=true) const |
| Get a trait of a certain type.
|
|
template<EParadigm Paradigm, typename T , int32 TraitLineIndex> |
TOutcome< Paradigm, T > | TraitAtLine () const |
| Get a copy of a trait of a certain type with an index hint.
|
|
template<EParadigm Paradigm, typename T , int32 TraitLineIndex, more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitPtrResult< Paradigm, T > > | TraitPtrAtLine () const |
| Get a pointer to a trait of a certain type with an index hint.
|
|
template<EParadigm Paradigm, typename T , int32 TraitLineIndex, more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitRefResult< Paradigm, T > > | TraitRefAtLine () const |
| Get a trait of a certain type with an index hint.
|
|
template<EParadigm Paradigm = DefaultParadigm, more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitVoidPtrResult< Paradigm > > | GetTraitPtrHinted (UScriptStruct *const TraitType, const int32 TraitIndexHint) const |
| Get a pointer to a trait of a certain type with an index hint.
|
|
template<EParadigm Paradigm, typename T , more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitPtrResult< Paradigm, T > > | GetTraitPtrHinted (const int32 TraitIndexHint) const |
| Get a pointer to a trait of a certain type with an index hint.
|
|
template<typename T , EParadigm Paradigm = DefaultParadigm, more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitPtrResult< Paradigm, T > > | GetTraitPtrHinted (const int32 TraitIndexHint) const |
| Get a pointer to a trait of a certain type with an index hint.
|
|
template<EParadigm Paradigm, typename T , more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitRefResult< Paradigm, T > > | GetTraitRefHinted (const int32 TraitIndexHint) const |
| Get a trait of a certain type with an index hint.
|
|
template<typename T , EParadigm Paradigm = DefaultParadigm, more::enable_if_t< IsUnsafe(Paradigm)||AllowsDirectTraitAccess, int > = 0> |
TOutcome< Paradigm, TTraitRefResult< Paradigm, T > > | GetTraitRefHinted (const int32 TraitIndexHint) const |
| Get a trait of a certain type with an index hint.
|
|
template<EParadigm Paradigm, typename T > |
TOutcome< Paradigm, T > | GetTraitHinted (const int32 TraitIndexHint) const |
| Get a copy of a trait of a certain type with an index hint.
|
|
template<typename T , EParadigm Paradigm = DefaultParadigm> |
TOutcome< Paradigm, T > | GetTraitHinted (const int32 TraitIndexHint) const |
| Get a copy of a trait of a certain type with an index hint.
|
|
template<EParadigm Paradigm = DefaultParadigm> |
TOutcome< Paradigm > | GetTraitHinted (UScriptStruct *const TraitType, const int32 TraitIndexHint, void *const OutTraitData, const bool bTraitDataInitialized=true) const |
| Get a trait of a certain type with an index hint.
|
|
template<EParadigm Paradigm = DefaultParadigm, typename T = void> |
TOutcome< Paradigm > | GetTraitHinted (const int32 TraitIndexHint, T &OutTraitData, const bool bTraitDataInitialized=true) const |
| Get a trait of a certain type with an index hint.
|
|
template<EParadigm Paradigm = DefaultParadigm> |
TOutcome< Paradigm, UDetail * > | GetDetailHinted (const TSubclassOf< UDetail > DetailClass, const int32 DetailIndexHint) const |
| Get a detail of a certain class at an index hinted.
|
|
template<EParadigm Paradigm, class D , TDetailPtrResultSecurity< D > = 0> |
TOutcome< Paradigm, TDetailPtrResult< D > > | GetDetailHinted (const int32 DetailIndexHint) const |
| Get a detail of a certain class at an index hinted.
|
|
template<class D , EParadigm Paradigm = DefaultParadigm> |
auto | GetDetailHinted (const int32 DetailIndexHint) const |
| Get a detail of a certain class at an index hinted.
|
|
template<EParadigm Paradigm = DefaultParadigm, TDetailPtrResultSecurity< UDetail > = 0> |
TOutcome< Paradigm, TDetailPtrResult< UDetail > > | GetDetail (const TSubclassOf< UDetail > DetailClass) const |
| Get a detail of a certain class.
|
|
template<EParadigm Paradigm, class D , TDetailPtrResultSecurity< D > = 0> |
TOutcome< Paradigm, TDetailPtrResult< D > > | GetDetail () const |
| Get a detail of a certain class.
|
|
template<class D , EParadigm Paradigm = DefaultParadigm, TDetailPtrResultSecurity< D > = 0> |
TOutcome< Paradigm, TDetailPtrResult< D > > | GetDetail () const |
| Get a detail of a certain class.
|
|
template<EParadigm Paradigm = DefaultParadigm, TDetailPtrResultSecurity< UDetail > = 0> |
TOutcome< Paradigm, TDetailPtrResult< UDetail > > | DetailAtLine (const int32 LineIndex) const |
| Get a detail at a certain line index.
|
|
template<class P > |
constexpr int32 | IndexOfPart () const |
| Find a hinting index for a part.
|
|
template<typename PartT > |
PartT | GetPart () const |
| Get a part (trait, detail, subject, other) of the current slot by its type.
|
|
template<typename PartT > |
PartT | GetPartHinted (const int32 PartIndexHint) const |
| Get a part (trait, detail, subject, other) of the current slot by its type with an index hint.
|
|
| TCursor (const TChain *const InOwner, const int32 InOffset=0, const int32 InLimit=TNumericLimits< int32 >::Max()) |
| Initialize a new cursor instance for a chain.
|
|
| TCursor (TCursor &&InCursor) |
| Move-initialize a cursor.
|
|
| TCursor (const TCursor &InCursor) |
| Copy-initialize a cursor.
|
|
template<typename ... OtherPs> |
| TCursor (const TCursor< OtherPs... > &InCursor) |
| Copy-initialize a cursor from an another cursor type.
|
|
| TCursor () |
| Initialize a new invalid cursor.
|
|
| ~TCursor () |
| Finalize the cursor.
|
|
const FCommonChain * | GetOwner () const |
| Get the owning chain of the cursor.
|
|
int32 | GetChainSlotIndex () const |
| Get the global (chain-relative) index of the current slot.
|
|
bool | IsLimitReached () const |
| Check if the iterating limit was reached.
|
|
bool | ShouldStop () const |
| Check if the cursor should stop iterating.
|
|
template<typename ChunkItT, typename BeltItT,
EParadigm InDefaultParadigm>
template<typename... Ps>
struct TChain< ChunkItT, BeltItT, InDefaultParadigm >::TCursor< Ps >
A state of the chain iterating.
Cursors also unify the component hinting indices across different chunks/belts.
- Template Parameters
-
Ps | The predefined types of parts to obtain efficiently while iterating. |