Apparatus Version 1.23
ECS data-oriented workflow for Unreal Engine.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
FCommonSubjectHandle Struct Reference

The base structure for all subject handles. More...

#include <CommonSubjectHandle.h>

Inheritance diagram for FCommonSubjectHandle:
Inheritance graph
[legend]
Collaboration diagram for FCommonSubjectHandle:
Collaboration graph
[legend]

Public Types

typedef FSubjectInfo::MechanismIdType MechanismIdType
 The type of the unique mechanism identifier.
 
typedef FSubjectInfo::IdType IdType
 The type of the unique subject identifier.
 
typedef FSubjectInfo::GenerationType GenerationType
 The type of the subject generation counter.
 
using NetworkIdType = FSubjectNetworkState::IdType
 The type of the network identifier.
 

Public Member Functions

 FCommonSubjectHandle ()
 Initialize an invalid (null) handle.
 
 FCommonSubjectHandle (const FCommonSubjectHandle &InSubjectHandle)
 Initialize as a copy of an another subject handle.
 
A Pointer-Like Interface
auto operator-> () const
 Use the handle as a pointer.
 
auto & operator* () const
 Dereference itself.
 
Identification
IdType GetId () const
 Get the unique identifier of the subject.
 
GenerationType GetGeneration () const
 Get the current generation of the subject.
 
auto GetMechanismId () const
 Get the identifier of the mechanism the subject is part of.
 
auto GetPlace () const
 Get the place index of the subject.
 
Common Functionality
bool IsSolid () const
 Check if the subject is currently solid.
 
void ResetHandle ()
 Reset the subject handle.
 
FCommonSubjectHandleoperator= (TYPE_OF_NULLPTR)
 Clear the subject handle, essentially making it invalid.
 
uint32 CalcHash () const
 Calculate the hash-sum value for the handle.
 
AMechanismGetMechanism () const
 Get the mechanism the subject is part of.
 
const FFingerprintGetFingerprint () const
 Get the current fingerprint of the subject.
 
bool Matches (const FFilter &InFilter) const
 Check if the subject matches a certain filter.
 
Validity
bool IsValid () const
 Check if the subject handle is valid and is pointing to an existent subject.
 
bool operator== (TYPE_OF_NULLPTR) const
 Check if the subject handle is invalid and is pointing to a non-existent subject.
 
bool operator!= (TYPE_OF_NULLPTR) const
 Check if the subject handle is valid and is pointing to an existent subject.
 
 operator bool () const
 Check if the subject handle is valid and is pointing to an existent subject.
 
Comparison
bool EqualsRaw (const FCommonSubjectHandle &InSubject) const
 Check if two subject handles are equal byte-wise.
 
bool Equals (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the subject handle points to the same subject as the other one.
 
bool operator== (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the subject handle points to the same subject as the other one.
 
bool operator!= (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the subject handles point to different subjects.
 
Flagmark Examination
EFlagmark GetFlagmark () const
 Get the flagmark of the subject.
 
bool HasFlag (const EFlagmarkBit Flag) const
 Get the state of a certain flag of the subject.
 
Components Examination
bool HasTrait (UScriptStruct *const TraitType) const
 Check if the subject has a certain trait.
 
template<typename T >
std::enable_if< IsTraitType< T >(), bool >::type HasTrait () const
 Check if the subject has a certain trait.
 
bool HasDetail (TSubclassOf< UDetail > DetailClass) const
 Check if the subject has a certain detail.
 
template<typename D >
std::enable_if< IsDetailClass< D >(), bool >::type HasDetail () const
 Check if the subject has a certain detail.
 
Traits Getting
template<EParadigm Paradigm = EParadigm::Default>
TOutcome< Paradigm > GetTrait (UScriptStruct *const TraitType, void *const OutTraitData, const bool bTraitDataInitialized=true) const
 Get a trait from the subject by its type.
 
template<EParadigm Paradigm = EParadigm::Default, typename T = void>
TOutcome< Paradigm > GetTrait (T &OutTrait, const bool bTraitDataInitialized=true) const
 Get a trait from a subject by its type.
 
template<EParadigm Paradigm, typename T >
TOutcome< Paradigm, TGetTrait () const
 Get a trait copy from the subject by its type.
 
template<typename T , EParadigm Paradigm = EParadigm::Default>
TOutcome< Paradigm, TGetTrait () const
 Get a trait copy from the subject by its type.
 
Common Networking
bool IsOnline () const
 Check if the subject currently networked.
 
NetworkIdType GetNetworkId () const
 Get a unique network identifier of a subject (if any).
 
bool IsInNetworkMode (const ENetMode Mode) const
 Check if the subject is of a certain network mode.
 
bool IsServerSide () const
 Check if this is a server-side version of the subject.
 
bool IsClientSide () const
 Check if this is a client-side version of the subject.
 
UNetConnection * GetConnectionPermit () const
 Get the server-side connection that is allowed to push to the server's version of the subject.
 
const FTraitmarkGetTraitmarkPermit () const
 Get the server-side list of traits allowed to be received from clients.
 
const FTraitmarkGetTraitmarkPass () const
 
Assignment
FCommonSubjectHandleoperator= (const FCommonSubjectHandle &InSubjectHandle)
 Assign to be a copy of an another subject handle.
 

Static Public Attributes

static constexpr IdType InvalidId = FSubjectInfo::InvalidId
 Invalid subject identifier.
 
static constexpr IdType FirstPlace = FSubjectInfo::FirstPlace
 A first valid subject identifier.
 
static constexpr IdType LastPlace = FSubjectInfo::LastPlace
 The maximum valid subject identifier.
 
static constexpr GenerationType FirstGeneration = FSubjectInfo::FirstGeneration
 The first valid generation.
 
static constexpr GenerationType LastGeneration = FSubjectInfo::LastGeneration
 The maximum valid generation.
 
static const FCommonSubjectHandle Invalid
 An invalid common subject handle constant.
 

Protected Member Functions

FSubjectInfoFindInfo () const
 Get the valid subject info record (if any).
 
FSubjectInfoGetInfo () const
 Get the subject info record associated with it.
 
FFingerprintGetFingerprintRef () const
 Get the current fingerprint's reference of the subject.
 
template<EParadigm Paradigm = EParadigm::DefaultInternal>
TOutcome< Paradigm, boolMarkBooted () const
 
UChunkGetChunk () const
 Get the current chunk of the subject.
 
ISubjectiveGetSubjective () const
 Get a subjective this handle is associated with (if any).
 
UDetailGetDetail (TSubclassOf< UDetail > DetailClass) const
 Get a detail of a certain class.
 
template<class D >
DGetDetail () const
 Get a detail of a certain class.
 
 FCommonSubjectHandle (const IdType InId, const GenerationType InGeneration)
 Initialize a common handle with explicit id and generation specifications.
 
 FCommonSubjectHandle (const MechanismIdType InMechanismId, const IdType InPlace, const GenerationType InGeneration)
 Initialize a common handle with explicit mechanism, placement and generation specifications.
 

Protected Attributes

int32 Id = InvalidId
 A unique identifier of the subject within the mechanism.
 
uint32 Generation = FirstGeneration
 A unique generation of the subject.
 

Friends

template<typename ChunkItT , typename BeltItT , EParadigm Paradigm>
struct TChain
 
template<typename SubjectHandleT >
struct TChunkIt
 
template<typename SubjectHandleT >
struct TBeltIt
 
struct FSubjectInfo
 
struct FSubjectNetworkState
 
struct FSubjectHandle
 
struct FSolidSubjectHandle
 
struct FConstSubjectHandle
 
struct FUnsafeSubjectHandle
 
struct FChunkSlot
 
struct FSubjectRecord
 
class UChunk
 
class AMechanism
 
class UMachine
 
class ISubjective
 
class UNetworkBearerComponent
 
class ASubjectiveActor
 
class USubjectiveActorComponent
 

Detailed Description

The base structure for all subject handles.

Shouldn't really be used by the end-user of the framework.

The size of the handle should be exactly 64-bits and can be passed to functions by value.

Subject handles are not meant to be serialized.

See also
FSubjectHandle, FSolidSubjectHandle, FConstSubjectHandle

Member Typedef Documentation

◆ GenerationType

The type of the subject generation counter.

◆ IdType

The type of the unique subject identifier.

◆ MechanismIdType

The type of the unique mechanism identifier.

◆ NetworkIdType

The type of the network identifier.

Constructor & Destructor Documentation

◆ FCommonSubjectHandle() [1/4]

FCommonSubjectHandle::FCommonSubjectHandle ( const IdType  InId,
const GenerationType  InGeneration 
)
inlineprotected

Initialize a common handle with explicit id and generation specifications.

Parameters
InIdThe unique subject identifier.
InGenerationThe generation of the subject.

◆ FCommonSubjectHandle() [2/4]

FCommonSubjectHandle::FCommonSubjectHandle ( const MechanismIdType  InMechanismId,
const IdType  InPlace,
const GenerationType  InGeneration 
)
inlineprotected

Initialize a common handle with explicit mechanism, placement and generation specifications.

Parameters
InMechanismIdThe unique mechanism identifier.
InPlaceThe unique place of the subject within its mechanism.
InGenerationThe generation of the subject.

◆ FCommonSubjectHandle() [3/4]

FCommonSubjectHandle::FCommonSubjectHandle ( )
inline

Initialize an invalid (null) handle.

◆ FCommonSubjectHandle() [4/4]

FCommonSubjectHandle::FCommonSubjectHandle ( const FCommonSubjectHandle InSubjectHandle)
inline

Initialize as a copy of an another subject handle.

Parameters
InSubjectHandleThe subject handle to copy.

Member Function Documentation

◆ CalcHash()

uint32 FCommonSubjectHandle::CalcHash ( ) const

Calculate the hash-sum value for the handle.

◆ Equals()

bool FCommonSubjectHandle::Equals ( const FCommonSubjectHandle InSubjectHandle) const
inline

Check if the subject handle points to the same subject as the other one.

If both handles are invalid, returns true

Parameters
InSubjectHandleA subject handle to compare with.
Returns
true if the handles point to the same subject or both are invalid.
false if the handles point to different subjects or one is invalid.

◆ EqualsRaw()

bool FCommonSubjectHandle::EqualsRaw ( const FCommonSubjectHandle InSubject) const
inline

Check if two subject handles are equal byte-wise.

◆ FindInfo()

FSubjectInfo * FCommonSubjectHandle::FindInfo ( ) const
protected

Get the valid subject info record (if any).

The subject handle gets invalidated if the information is not found.

Returns
A valid subject registry information or nullptr, if the subject handle points to an invalid subject.

◆ GetChunk()

UChunk * FCommonSubjectHandle::GetChunk ( ) const
protected

Get the current chunk of the subject.

Returns
A chunk, this subject is currently part of. Returns nullptr, if there is none.

◆ GetConnectionPermit()

UNetConnection * FCommonSubjectHandle::GetConnectionPermit ( ) const

Get the server-side connection that is allowed to push to the server's version of the subject.

Can only be queried from a server-side subject.

See also
SetConnectionPermit()

◆ GetDetail() [1/2]

template<class D >
D * FCommonSubjectHandle::GetDetail ( ) const
protected

Get a detail of a certain class.

Templated version.

The method is protected since the child classes have to provide the exact return value semantics.

Template Parameters
DThe class of the detail to get.
Returns
A pointer to the detail of the designated class.
nullptr If there is no such detail.

◆ GetDetail() [2/2]

UDetail * FCommonSubjectHandle::GetDetail ( TSubclassOf< UDetail DetailClass) const
protected

Get a detail of a certain class.

The method is protected since the child classes have to provide the exact return value semantics.

Parameters
DetailClassThe class of the detail to get.
Returns
A pointer to the detail of the designated class.
nullptr If there is no such detail.

◆ GetFingerprint()

const FFingerprint & FCommonSubjectHandle::GetFingerprint ( ) const

Get the current fingerprint of the subject.

◆ GetFingerprintRef()

FFingerprint & FCommonSubjectHandle::GetFingerprintRef ( ) const
protected

Get the current fingerprint's reference of the subject.

◆ GetFlagmark()

EFlagmark FCommonSubjectHandle::GetFlagmark ( ) const
inline

Get the flagmark of the subject.

◆ GetGeneration()

GenerationType FCommonSubjectHandle::GetGeneration ( ) const
inline

Get the current generation of the subject.

Each unique instance of a subject has a unique combination of its generation and identifier.

See also
GetId()

◆ GetId()

IdType FCommonSubjectHandle::GetId ( ) const
inline

Get the unique identifier of the subject.

The identifier is unique along the lifetime of the subject. It gets reused (under a different generation) after the subject is despawned.

You can use the identifier for the purpose of ordering.

See also
GetGeneration()

◆ GetInfo()

FSubjectInfo & FCommonSubjectHandle::GetInfo ( ) const
protected

Get the subject info record associated with it.

◆ GetMechanism()

AMechanism * FCommonSubjectHandle::GetMechanism ( ) const

Get the mechanism the subject is part of.

Returns
The mechanism the subject resides within.
nullptr If the mechanism is invalid.

◆ GetMechanismId()

auto FCommonSubjectHandle::GetMechanismId ( ) const
inline

Get the identifier of the mechanism the subject is part of.

Note
The procedure is executed without touching any global state and is derived from the identifier.
See also
GetId(), GetPlace()

◆ GetNetworkId()

NetworkIdType FCommonSubjectHandle::GetNetworkId ( ) const

Get a unique network identifier of a subject (if any).

This unique identifier clearly and unequivocally identifies a subject within multiple peers (client(s) and server) and is used internally to address the subject in the networking environment.

Returns
The unique cross-peer identifier of the subject or FSubjectNetworkState::InvalidId, if the subject is not online just yet.
See also
IsOnline() BringOnline()

◆ GetPlace()

auto FCommonSubjectHandle::GetPlace ( ) const
inline

Get the place index of the subject.

This is the index of the subject information structure within the mechanism's subject pool.

Note
The procedure is executed without touching any global state and is derived from the identifier.
See also
GetId(), GetMechanismId()

◆ GetSubjective()

ISubjective * FCommonSubjectHandle::GetSubjective ( ) const
protected

Get a subjective this handle is associated with (if any).

Subjectives are high-level UObject-compatible entities. The method is non-public, cause a cast to a specific version is actually in the child struct.

The method is private, cause the exact subjective pointer type has to be cast to.

◆ GetTrait() [1/4]

template<EParadigm Paradigm, typename T >
TOutcome< Paradigm, T > FCommonSubjectHandle::GetTrait ( ) const
inline

Get a trait copy from the subject by its type.

Compile-time paradigm version.

Template Parameters
ParadigmThe paradigm to work under.
TThe type of the trait to get.
Returns
A copy of the trait.

◆ GetTrait() [2/4]

template<typename T , EParadigm Paradigm = EParadigm::Default>
TOutcome< Paradigm, T > FCommonSubjectHandle::GetTrait ( ) const
inline

Get a trait copy from the subject by its type.

Compile-time version.

Template Parameters
TThe type of the trait to get.
ParadigmThe paradigm to work under.
Returns
A copy of the trait.

◆ GetTrait() [3/4]

template<EParadigm Paradigm = EParadigm::Default, typename T = void>
TOutcome< Paradigm > FCommonSubjectHandle::GetTrait ( T OutTrait,
const bool  bTraitDataInitialized = true 
) const
inline

Get a trait from a subject by its type.

Compile-time outputting version.

Template Parameters
TThe type of the trait to get.
Parameters
[out]OutTraitThe trait receiver.
[out]bTraitDataInitializedIs the OutTrait actually initialized?
Returns
The outcome of the operation.
EApparatusStatus::Missing If there is no such trait in the subject.

◆ GetTrait() [4/4]

template<EParadigm Paradigm = EParadigm::Default>
TOutcome< Paradigm > FCommonSubjectHandle::GetTrait ( UScriptStruct *const  TraitType,
void *const  OutTraitData,
const bool  bTraitDataInitialized = true 
) const
inline

Get a trait from the subject by its type.

Dynamic outputting version.

Template Parameters
ParadigmThe paradigm to work under.
TThe type of the trait data to receive the trait. Must match the one specified within the TraitType or be void.
Parameters
[in]TraitTypeThe type of the trait to get. Must match that of the T.
[out]OutTraitDataThe trait data receiver. Must not be a nullptr if the TraitType is set.
[in]bTraitDataInitializedIs the OutTraitData buffer actually initialized?
Returns
The outcome of the operation.
EApparatusStatus::Missing If there is no such trait in the subject.

◆ GetTraitmarkPass()

const FTraitmark & FCommonSubjectHandle::GetTraitmarkPass ( ) const
inline

◆ GetTraitmarkPermit()

const FTraitmark & FCommonSubjectHandle::GetTraitmarkPermit ( ) const

Get the server-side list of traits allowed to be received from clients.

Can only be queried from a server-side subject.

See also
SetTraitmarkPermit()

◆ HasDetail() [1/2]

template<typename D >
std::enable_if< IsDetailClass< D >(), bool >::type FCommonSubjectHandle::HasDetail ( ) const
inline

Check if the subject has a certain detail.

Templated version.

◆ HasDetail() [2/2]

bool FCommonSubjectHandle::HasDetail ( TSubclassOf< UDetail DetailClass) const
inline

Check if the subject has a certain detail.

◆ HasFlag()

bool FCommonSubjectHandle::HasFlag ( const EFlagmarkBit  Flag) const
inline

Get the state of a certain flag of the subject.

Always returns false for invalid subject handles.

Parameters
FlagThe flag to examine.
Returns
The state of the flag.

◆ HasTrait() [1/2]

template<typename T >
std::enable_if< IsTraitType< T >(), bool >::type FCommonSubjectHandle::HasTrait ( ) const
inline

Check if the subject has a certain trait.

Templated version.

◆ HasTrait() [2/2]

bool FCommonSubjectHandle::HasTrait ( UScriptStruct *const  TraitType) const
inline

Check if the subject has a certain trait.

◆ IsClientSide()

bool FCommonSubjectHandle::IsClientSide ( ) const

Check if this is a client-side version of the subject.

A subject must be both online and be part of a client world's mechanism in order to be considered client-side.

See also
IsOnline() IsServerSide()

◆ IsInNetworkMode()

bool FCommonSubjectHandle::IsInNetworkMode ( const ENetMode  Mode) const
inline

Check if the subject is of a certain network mode.

The subject's world is used to determine the mode (if any), otherwise false is returned, unless the mode is ENetMode::Standalone.

Parameters
ModeThe network mode to check against.
Returns
The state of examination.

◆ IsOnline()

bool FCommonSubjectHandle::IsOnline ( ) const

Check if the subject currently networked.

Networked subject can receive and push traits over the network to the remote versions of themselves.

See also
GetNetworkId() BringOnline()

◆ IsServerSide()

bool FCommonSubjectHandle::IsServerSide ( ) const

Check if this is a server-side version of the subject.

A subject must be both online and be part of a server world's mechanism in order to be considered server-side.

See also
IsOnline() IsClientSide()

◆ IsSolid()

bool FCommonSubjectHandle::IsSolid ( ) const
inline

Check if the subject is currently solid.

The subject is solid if it's part of a solid mechanism.

Invalid subject handles will return false here.

◆ IsValid()

bool FCommonSubjectHandle::IsValid ( ) const
inline

Check if the subject handle is valid and is pointing to an existent subject.

Returns
Returns true if the subject is valid. Otherwise, false is returned.

◆ MarkBooted()

template<EParadigm Paradigm = EParadigm::DefaultInternal>
TOutcome< Paradigm, bool > FCommonSubjectHandle::MarkBooted ( ) const
inlineprotected

◆ Matches()

bool FCommonSubjectHandle::Matches ( const FFilter InFilter) const
inline

Check if the subject matches a certain filter.

◆ operator bool()

FCommonSubjectHandle::operator bool ( ) const
inline

Check if the subject handle is valid and is pointing to an existent subject.

Returns
Returns true if the subject is valid. Otherwise, false is returned.
See also
IsValid()

◆ operator!=() [1/2]

bool FCommonSubjectHandle::operator!= ( const FCommonSubjectHandle InSubjectHandle) const
inline

Check if the subject handles point to different subjects.

Two invalid subject handles are considered to be the same and this operator would return false.

Parameters
InSubjectHandleA subject handle to compare with.
Returns
true if the handles point to different subjects or one is invalid.
false if the handles point to the same subject or both are invalid.

◆ operator!=() [2/2]

bool FCommonSubjectHandle::operator!= ( TYPE_OF_NULLPTR  ) const
inline

Check if the subject handle is valid and is pointing to an existent subject.

Returns
Returns true if the subject is valid. Otherwise, false is returned.

◆ operator*()

auto & FCommonSubjectHandle::operator* ( ) const
inline

Dereference itself.

This interface is needed for compatiblity

◆ operator->()

auto FCommonSubjectHandle::operator-> ( ) const
inline

Use the handle as a pointer.

This interface is needed for compatiblity

◆ operator=() [1/2]

FCommonSubjectHandle & FCommonSubjectHandle::operator= ( const FCommonSubjectHandle InSubjectHandle)
inline

Assign to be a copy of an another subject handle.

Parameters
InSubjectHandleThe subject handle to copy.
Returns
Returns itself as a result.

◆ operator=() [2/2]

FCommonSubjectHandle & FCommonSubjectHandle::operator= ( TYPE_OF_NULLPTR  )
inline

Clear the subject handle, essentially making it invalid.

◆ operator==() [1/2]

bool FCommonSubjectHandle::operator== ( const FCommonSubjectHandle InSubjectHandle) const
inline

Check if the subject handle points to the same subject as the other one.

If both handles are invalid, returns true

Parameters
InSubjectHandleA subject handle to compare with.
Returns
true if the handles point to the same subject or both are invalid.
false if the handles point to different subjects or one is invalid.

◆ operator==() [2/2]

bool FCommonSubjectHandle::operator== ( TYPE_OF_NULLPTR  ) const
inline

Check if the subject handle is invalid and is pointing to a non-existent subject.

Returns
Returns true if the subject is invalid. Otherwise, false is returned.

◆ ResetHandle()

void FCommonSubjectHandle::ResetHandle ( )
inline

Reset the subject handle.

Only the handle itself is reset. The referenced subject (if any) will remain intact.

Friends And Related Function Documentation

◆ AMechanism

friend class AMechanism
friend

◆ ASubjectiveActor

friend class ASubjectiveActor
friend

◆ FChunkSlot

friend struct FChunkSlot
friend

◆ FConstSubjectHandle

friend struct FConstSubjectHandle
friend

◆ FSolidSubjectHandle

friend struct FSolidSubjectHandle
friend

◆ FSubjectHandle

friend struct FSubjectHandle
friend

◆ FSubjectInfo

friend struct FSubjectInfo
friend

◆ FSubjectNetworkState

friend struct FSubjectNetworkState
friend

◆ FSubjectRecord

friend struct FSubjectRecord
friend

◆ FUnsafeSubjectHandle

friend struct FUnsafeSubjectHandle
friend

◆ ISubjective

friend class ISubjective
friend

◆ TBeltIt

template<typename SubjectHandleT >
friend struct TBeltIt
friend

◆ TChain

template<typename ChunkItT , typename BeltItT , EParadigm Paradigm>
friend struct TChain
friend

◆ TChunkIt

template<typename SubjectHandleT >
friend struct TChunkIt
friend

◆ UChunk

friend class UChunk
friend

◆ UMachine

friend class UMachine
friend

◆ UNetworkBearerComponent

friend class UNetworkBearerComponent
friend

◆ USubjectiveActorComponent

friend class USubjectiveActorComponent
friend

Member Data Documentation

◆ FirstGeneration

constexpr GenerationType FCommonSubjectHandle::FirstGeneration = FSubjectInfo::FirstGeneration
staticconstexpr

The first valid generation.

◆ FirstPlace

constexpr IdType FCommonSubjectHandle::FirstPlace = FSubjectInfo::FirstPlace
staticconstexpr

A first valid subject identifier.

◆ Generation

uint32 FCommonSubjectHandle::Generation = FirstGeneration
protected

A unique generation of the subject.

Used to validate the subject against reused slots.

◆ Id

int32 FCommonSubjectHandle::Id = InvalidId
protected

A unique identifier of the subject within the mechanism.

If this identifier is invalid, the handle is considered to be invalid.

◆ Invalid

const FCommonSubjectHandle FCommonSubjectHandle::Invalid
static

An invalid common subject handle constant.

◆ InvalidId

constexpr IdType FCommonSubjectHandle::InvalidId = FSubjectInfo::InvalidId
staticconstexpr

Invalid subject identifier.

◆ LastGeneration

constexpr GenerationType FCommonSubjectHandle::LastGeneration = FSubjectInfo::LastGeneration
staticconstexpr

The maximum valid generation.

◆ LastPlace

constexpr IdType FCommonSubjectHandle::LastPlace = FSubjectInfo::LastPlace
staticconstexpr

The maximum valid subject identifier.


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