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

An unsafe subject handle with all of the functionality available. More...

#include <UnsafeSubjectHandle.h>

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

Public Types

using SuperT = TSubjectHandle< true, true, true >
 The base handle type. More...
 
typedef ISubjectiveSubjectivePtrType
 The compatible type of the subjective used. More...
 
- Public Types inherited from TSubjectHandle< true, true, true >
enum  
 
using Super = FCommonSubjectHandle
 The base handle type. More...
 
using TResultTraitVoidPtr = typename std::enable_if< AllowsDirectTraitAccess||(Paradigm<=EParadigm::Unsafe), typename std::conditional< AllowsChanges, void *, const void * >::type >::type
 The type of a trait void pointer returned by the methods. More...
 
using TResultTraitPtr = typename std::enable_if<(AllowsDirectTraitAccess||(Paradigm<=EParadigm::Unsafe)) &&IsTraitType< T >(), typename std::conditional< AllowsChanges, T *, typename std::add_const_t< T > * >::type >::type
 The type of a trait pointer returned by the methods. More...
 
using TResultTraitRef = typename std::enable_if<(AllowsDirectTraitAccess||(Paradigm<=EParadigm::Unsafe)) &&IsTraitType< T >(), typename std::conditional< AllowsChanges, T &, typename std::add_const_t< T > & >::type >::type
 The type of a trait reference returned by the methods. More...
 
using TResultDetailPtr = typename std::enable_if< IsDetailClass< D >(), typename std::conditional< AllowsChanges, D *, typename std::add_const_t< D > * >::type >::type
 The type of a detail pointer returned by the methods. More...
 
- Public Types inherited from FCommonSubjectHandle
typedef FSubjectInfo::IdType IdType
 The type of the unique subject identifier. More...
 
typedef FSubjectInfo::GenerationType GenerationType
 The type of the subject generation counter. More...
 

Public Member Functions

SubjectivePtrType GetSubjective () const
 Get a subjective this handle is associated with (if any). More...
 
Validity
bool operator== (TYPE_OF_NULLPTR) const
 Check if the unsafe subject handle is invalid and is pointing to a non-existent subject. More...
 
bool operator!= (TYPE_OF_NULLPTR) const
 Check if the unsafe subject handle is valid and is pointing to an existent subject. More...
 
 operator bool () const
 Check if the unsafe subject handle is valid and is pointing to an existent subject. More...
 
Equality
bool operator== (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the unsafe subject handle points to the same subject as the other one. More...
 
bool operator!= (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the unsafe subject handle points to different subject than the other one. More...
 
Assignment
FUnsafeSubjectHandleoperator= (const FUnsafeSubjectHandle &InHandle)
 Copy-assign an unsafe subject handle. More...
 
Conversion
 operator FSubjectHandle () const
 Implicit conversion to a mutable version. More...
 
 operator FSolidSubjectHandle () const
 Implicit conversion to a uniform version. More...
 
 operator FConstSubjectHandle () const
 Implicit conversion to an immutable version. More...
 
Initialization
 FUnsafeSubjectHandle ()
 Initialize an invalid (null) unsafe subject handle. More...
 
 FUnsafeSubjectHandle (const FUnsafeSubjectHandle &InHandle)
 Initialize a copy of an unsafe subject handle. More...
 
 FUnsafeSubjectHandle (const FSubjectHandle &InHandle)
 Convert from a usual subject handle. More...
 
 FUnsafeSubjectHandle (const FSolidSubjectHandle &InHandle)
 Convert from a solid subject handle. More...
 
- Public Member Functions inherited from TSubjectHandle< true, true, true >
TSubjectHandleoperator= (TYPE_OF_NULLPTR)
 Clear the subject handle, essentially making it invalid. More...
 
 TSubjectHandle ()
 Construct a new invalid subject handle. More...
 
 TSubjectHandle (const TSubjectHandle &InHandle)
 Copy-construct a new subject handle. More...
 
bool operator== (TYPE_OF_NULLPTR) const
 Check if the subject handle is invalid and is pointing to a non-existent subject. More...
 
bool operator!= (TYPE_OF_NULLPTR) const
 Check if the subject handle is valid and is pointing to an existent subject. More...
 
bool operator== (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the subject handle points to the same subject as the other one. More...
 
bool operator!= (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the subject handle points to a different subject than the other one. More...
 
std::enable_if< AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type Despawn () const
 Destroy the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type DespawnDeferred (const bool bHard=true) const
 Destroy the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EFlagmark >::type SetFlagmark (const EFlagmark Flagmark) const
 Set the flagmark of the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type SetFlagmark_Status (const EFlagmark Flagmark) const
 Set the flagmark of the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EFlagmark >::type SetFlagmarkMasked (const EFlagmark Flagmark, const EFlagmark Mask) const
 Set the flagmark of the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type SetFlagmarkMasked_Status (const EFlagmark Flagmark, const EFlagmark Mask) const
 Set the flagmark of the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), bool >::type SetFlag (const EFlagmarkBit Flag, const bool bState=true) const
 Set a single flag for the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type SetFlag_Status (const EFlagmarkBit Flag, const bool bState=true) const
 Set a single flag for the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), bool >::type ToggleFlag (const EFlagmarkBit Flag) const
 Toggle a single flag for the subject. More...
 
TResultTraitVoidPtr< Paradigm > GetTraitPtr (UScriptStruct *const TraitType) const
 Get a pointer to a trait of a certain type. More...
 
TResultTraitPtr< T, Paradigm > GetTraitPtr () const
 Get a pointer to a trait of a certain type. More...
 
TResultTraitRef< T, Paradigm > GetTraitRef () const
 Get a trait from a subject by its type. More...
 
std::enable_if< AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type SetTrait (UScriptStruct *const TraitType, const void *const TraitData) const
 Set a trait of the subject by its type. More...
 
std::enable_if< AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type SetTrait (const FTraitRecord &TraitRecord) const
 Set a trait of the subject to a trait record. More...
 
std::enable_if<(AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), EApparatusStatus >::type SetTrait (const T &Trait) const
 Set a trait of the subject. More...
 
EApparatusStatus CopyTraitsTo (const TSubjectHandle< true, AnyDirectAccess, true > &DestinationSubjectHandle) const
 Copy the traits to some other subject. More...
 
std::enable_if< AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type ObtainTrait (UScriptStruct *const TraitType, void *const OutTraitData, const bool bTraitDataInitialized=true) const
 Obtain a trait from a subject by its type. More...
 
std::enable_if< AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type ObtainTrait (UScriptStruct *const TraitType) const
 Obtain a trait for a subject by its type. More...
 
std::enable_if<(AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), EApparatusStatus >::type ObtainTrait (T &OutTrait, const bool bTraitDataInitialized=true) const
 Obtain a trait from a subject. More...
 
std::enable_if<(AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), T >::type ObtainTrait () const
 Obtain a trait copy from a subject. More...
 
std::enable_if<(AllowsStructuralChanges &&AllowsDirectTraitAccess)||(Paradigm<=EParadigm::Unsafe), void * >::type ObtainTraitPtr (UScriptStruct *const TraitType)
 Obtain a trait data pointer from a subject by its type. More...
 
std::enable_if<((AllowsStructuralChanges &&AllowsDirectTraitAccess)||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), T * >::type ObtainTraitPtr () const
 Obtain a trait pointer from a subject. More...
 
std::enable_if<((AllowsStructuralChanges &&AllowsDirectTraitAccess)||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), T & >::type ObtainTraitRef () const
 Obtain a trait reference from a subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type ObtainTraitDeferred (UScriptStruct *const TraitType) const
 Obtain a trait for a subject by its type. More...
 
std::enable_if<(AllowsChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), T >::type ObtainTraitDeferred () const
 Obtain a trait copy from a subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type SetTraitDeferred (UScriptStruct *const TraitType, const void *const TraitData) const
 Set a trait of the subject by its type. More...
 
std::enable_if<(AllowsChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), EApparatusStatus >::type SetTraitDeferred (const T &Trait) const
 Set a trait of the subject by its type. More...
 
std::enable_if< AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type RemoveTrait (UScriptStruct *const TraitType) const
 Remove a trait from the subject. More...
 
std::enable_if<(AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), EApparatusStatus >::type RemoveTrait () const
 Remove a trait from the subject. More...
 
std::enable_if< AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type RemoveAllTraits () const
 Remove all of the traits from the subject (if any). More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type RemoveTraitDeferred (UScriptStruct *const TraitType) const
 Remove a trait from the subject. More...
 
std::enable_if<(AllowsChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), EApparatusStatus >::type RemoveTraitDeferred () const
 Remove a trait from the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type RemoveAllTraitsDeferred () const
 Remove all of the traits from the subject. More...
 
TResultDetailPtr< UDetailGetDetail (TSubclassOf< UDetail > DetailClass) const
 Get a detail of a certain class. More...
 
TResultDetailPtr< DGetDetail () const
 Get a detail of a certain class. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type BringOnline () const
 Make the subject networked. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), void >::type SetConnectionPermit (UNetConnection *const Connection) const
 Set the server-side connection to a client from which it is allowed to push traits to this subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type SetTraitmarkPermit (const FTraitmark &InTraitmarkPermit) const
 Set the server-side list of traits allowed to be pushed from clients. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), EApparatusStatus >::type SetTraitmarkPass (const FTraitmark &InTraitmarkPermit) const
 
std::enable_if< AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe), void >::type PushTrait (UScriptStruct *const TraitType, const void *const TraitData, const bool bSetForLocal=false, const EPeerRole PeerRole=EPeerRole::None) const
 Send an additional trait to the remote version of the subject. More...
 
std::enable_if< AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe), void >::type PushTrait (UScriptStruct *const TraitType, const void *const TraitData, const EPeerRole PeerRole) const
 Send an additional trait to the remote version of the subject. More...
 
std::enable_if<(AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), void >::type PushTrait (const T &Trait, const bool bSetForLocal=false, const EPeerRole PeerRole=EPeerRole::None) const
 Send an additional trait to the remote version of the subject. More...
 
std::enable_if<(AllowsStructuralChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), void >::type PushTrait (const T &Trait, const EPeerRole PeerRole) const
 Send an additional trait to the remote version of the subject. More...
 
std::enable_if< AllowsChanges||(Paradigm<=EParadigm::Unsafe), void >::type PushTrait (UScriptStruct *const TraitType, const EPeerRole PeerRole=EPeerRole::None) const
 Send an existing trait to the remote version of the subject. More...
 
std::enable_if<(AllowsChanges||(Paradigm<=EParadigm::Unsafe))&&IsTraitType< T >(), void >::type PushTrait (const EPeerRole PeerRole=EPeerRole::None) const
 Send an existing trait to the remote version of the subject. More...
 
- Public Member Functions inherited from FCommonSubjectHandle
 FCommonSubjectHandle ()
 Initialize an invalid (null) handle. More...
 
 FCommonSubjectHandle (const FCommonSubjectHandle &InSubjectHandle)
 Initialize as a copy of an another subject handle. More...
 
IdType GetId () const
 Get the unique identifier of the subject. More...
 
GenerationType GetGeneration () const
 Get the current generation of the subject. More...
 
bool IsSolid () const
 Check if the subject is currently solid. More...
 
void ResetHandle ()
 Reset the subject handle. More...
 
FCommonSubjectHandleoperator= (TYPE_OF_NULLPTR)
 Clear the subject handle, essentially making it invalid. More...
 
uint32 CalcHash () const
 Calculate the hash-sum value for the handle. More...
 
AMechanismGetMechanism () const
 Get the mechanism the subject is part of. More...
 
const FFingerprintGetFingerprint () const
 Get the current fingerprint of the subject. More...
 
bool Matches (const FFilter &InFilter) const
 Check if the subject matches a certain filter. More...
 
bool IsValid () const
 Check if the subject handle is valid and is pointing to an existent subject. More...
 
bool operator== (TYPE_OF_NULLPTR) const
 Check if the subject handle is invalid and is pointing to a non-existent subject. More...
 
bool operator!= (TYPE_OF_NULLPTR) const
 Check if the subject handle is valid and is pointing to an existent subject. More...
 
 operator bool () const
 Check if the subject handle is valid and is pointing to an existent subject. More...
 
bool EqualsRaw (const FCommonSubjectHandle &InSubject) const
 Check if two subject handles are equal byte-wise. More...
 
bool Equals (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the subject handle points to the same subject as the other one. More...
 
bool operator== (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the subject handle points to the same subject as the other one. More...
 
bool operator!= (const FCommonSubjectHandle &InSubjectHandle) const
 Check if the subject handles point to different subjects. More...
 
EFlagmark GetFlagmark () const
 Get the flagmark of the subject. More...
 
bool HasFlag (const EFlagmarkBit Flag) const
 Get the state of a certain flag of the subject. More...
 
bool HasTrait (UScriptStruct *const TraitType) const
 Check if the subject has a certain trait. More...
 
template<typename T >
std::enable_if< IsTraitType< T >(), bool >::type HasTrait () const
 Check if the subject has a certain trait. More...
 
bool HasDetail (TSubclassOf< UDetail > DetailClass) const
 Check if the subject has a certain detail. More...
 
template<typename D >
std::enable_if< IsDetailClass< D >(), bool >::type HasDetail () const
 Check if the subject has a certain detail. More...
 
EApparatusStatus GetTrait (UScriptStruct *const TraitType, void *const OutTraitData, const bool bTraitDataInitialized=true) const
 Get a trait from a subject by its type. More...
 
template<typename T >
std::enable_if< IsTraitType< T >(), EApparatusStatus >::type GetTrait (T &OutTrait, const bool bTraitDataInitialized=true) const
 Get a trait from a subject by its type. More...
 
template<typename T >
std::enable_if< IsTraitType< T >(), T >::type GetTrait () const
 Get a trait copy from a subject by its type. More...
 
bool IsOnline () const
 Check if the subject currently networked. More...
 
uint32 GetNetworkId () const
 Get a unique network identifier of a subject (if any). More...
 
bool IsServerSide () const
 Check if this is a server-side version of the subject. More...
 
bool IsClientSide () const
 Check if this is a client-side version of the subject. More...
 
UNetConnection * GetConnectionPermit () const
 Get the server-side connection that is allowed to push to the server's version of the subject. More...
 
const FTraitmarkGetTraitmarkPermit () const
 Get the server-side list of traits allowed to be received from clients. More...
 
const FTraitmarkGetTraitmarkPass () const
 
FCommonSubjectHandleoperator= (const FCommonSubjectHandle &InSubjectHandle)
 Assign to be a copy of an another subject handle. More...
 

Static Public Attributes

static const FUnsafeSubjectHandle Invalid
 A global constant for an invalid (NULL) unsafe subject handle. More...
 
- Static Public Attributes inherited from FCommonSubjectHandle
static const IdType InvalidId = FSubjectInfo::InvalidId
 Invalid subject identifier. More...
 
static const IdType FirstId = FSubjectInfo::FirstId
 A first valid subject identifier. More...
 
static const IdType IdMax = FSubjectInfo::IdMax
 The maximum valid subject identifier. More...
 
static const GenerationType FirstGeneration = FSubjectInfo::FirstGeneration
 The first valid generation. More...
 
static const GenerationType GenerationMax = FSubjectInfo::GenerationMax
 The maximum valid generation. More...
 
static const FCommonSubjectHandle Invalid
 An invalid common subject handle constant. More...
 

Friends

struct FSubjectInfo
 
struct FSolidSubjectHandle
 
struct FConstSubjectHandle
 
class UChunk
 
class AMechanism
 
class UMachine
 
class ISubjective
 
template<typename ChunkItT , typename BeltItT , EParadigm Paradigm>
struct TChain
 

Additional Inherited Members

- Static Public Member Functions inherited from TSubjectHandle< true, true, true >
static constexpr bool IsHandleSolid ()
 Check if the handle itself a solid one. More...
 
- Protected Member Functions inherited from TSubjectHandle< true, true, true >
 TSubjectHandle (const int32 InId, const GenerationType InGeneration)
 Construct by explicit id and generation specifications. More...
 
 TSubjectHandle (const FCommonSubjectHandle &InHandle)
 
- Protected Member Functions inherited from FCommonSubjectHandle
FSubjectInfoFindInfo () const
 Get the valid subject info record (if any). More...
 
FSubjectInfoGetInfo () const
 Get the subject info record associated with it. More...
 
FFingerprintGetFingerprintRef () const
 Get the current fingerprint's reference of the subject. More...
 
bool MarkBooted () const
 
UChunkGetChunk () const
 Get the current chunk of the subject. More...
 
ISubjectiveGetSubjective () const
 Get a subjective this handle is associated with (if any). More...
 
UDetailGetDetail (TSubclassOf< UDetail > DetailClass) const
 Get a detail of a certain class. More...
 
template<class D >
DGetDetail () const
 Get a detail of a certain class. More...
 
 FCommonSubjectHandle (const int32 InId, const GenerationType InGeneration)
 Initialize with explicit id and generation specifications. More...
 
- Protected Attributes inherited from FCommonSubjectHandle
int32 Id = InvalidId
 A unique identifier of the subject within the mechanism. More...
 
uint32 Generation = FirstGeneration
 A unique generation of the subject. More...
 

Detailed Description

An unsafe subject handle with all of the functionality available.

Exposes all of the available APIs. Use at your own risk. This is a user-level handle structure, something like a pointer. The size of this structure is exactly 64 bits and the instances can be passed to functions by value.

Member Typedef Documentation

◆ SubjectivePtrType

The compatible type of the subjective used.

◆ SuperT

using FUnsafeSubjectHandle::SuperT = TSubjectHandle<true, true, true>

The base handle type.

Constructor & Destructor Documentation

◆ FUnsafeSubjectHandle() [1/4]

FUnsafeSubjectHandle::FUnsafeSubjectHandle ( )
inline

Initialize an invalid (null) unsafe subject handle.

◆ FUnsafeSubjectHandle() [2/4]

FUnsafeSubjectHandle::FUnsafeSubjectHandle ( const FUnsafeSubjectHandle InHandle)
inline

Initialize a copy of an unsafe subject handle.

◆ FUnsafeSubjectHandle() [3/4]

FUnsafeSubjectHandle::FUnsafeSubjectHandle ( const FSubjectHandle InHandle)
inlineexplicit

Convert from a usual subject handle.

◆ FUnsafeSubjectHandle() [4/4]

FUnsafeSubjectHandle::FUnsafeSubjectHandle ( const FSolidSubjectHandle InHandle)
inlineexplicit

Convert from a solid subject handle.

Member Function Documentation

◆ GetSubjective()

SubjectivePtrType FUnsafeSubjectHandle::GetSubjective ( ) const
inline

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

◆ operator bool()

FUnsafeSubjectHandle::operator bool ( ) const
inline

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

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

◆ operator FConstSubjectHandle()

FUnsafeSubjectHandle::operator FConstSubjectHandle ( ) const
inline

Implicit conversion to an immutable version.

◆ operator FSolidSubjectHandle()

FUnsafeSubjectHandle::operator FSolidSubjectHandle ( ) const
inline

Implicit conversion to a uniform version.

◆ operator FSubjectHandle()

FUnsafeSubjectHandle::operator FSubjectHandle ( ) const
inline

Implicit conversion to a mutable version.

◆ operator!=() [1/2]

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

Check if the unsafe subject handle points to different subject than the other one.

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 FUnsafeSubjectHandle::operator!= ( TYPE_OF_NULLPTR  ) const
inline

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

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

◆ operator=()

FUnsafeSubjectHandle & FUnsafeSubjectHandle::operator= ( const FUnsafeSubjectHandle InHandle)
inline

Copy-assign an unsafe subject handle.

◆ operator==() [1/2]

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

Check if the unsafe 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 FUnsafeSubjectHandle::operator== ( TYPE_OF_NULLPTR  ) const
inline

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

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

Friends And Related Function Documentation

◆ AMechanism

friend class AMechanism
friend

◆ FConstSubjectHandle

friend struct FConstSubjectHandle
friend

◆ FSolidSubjectHandle

friend struct FSolidSubjectHandle
friend

◆ FSubjectInfo

friend struct FSubjectInfo
friend

◆ ISubjective

friend class ISubjective
friend

◆ TChain

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

◆ UChunk

friend class UChunk
friend

◆ UMachine

friend class UMachine
friend

Member Data Documentation

◆ Invalid

const FUnsafeSubjectHandle FUnsafeSubjectHandle::Invalid
static

A global constant for an invalid (NULL) unsafe subject handle.


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