UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FDataflowOutput Struct Reference

#include <DataflowInputOutput.h>

+ Inheritance diagram for FDataflowOutput:

Public Member Functions

DATAFLOWCORE_API FDataflowOutput (const UE::Dataflow::FOutputParameters &Param, FGuid InGuid)
 
DATAFLOWCORE_API FDataflowOutput (const UE::Dataflow::FOutputParameters &Param={})
 
PRAGMA_DISABLE_DEPRECATION_WARNINGS ~FDataflowOutput ()=default
 
 FDataflowOutput (const FDataflowOutput &)=delete
 
 FDataflowOutput (FDataflowOutput &&)=delete
 
FDataflowOutputoperator= (const FDataflowOutput &)=delete
 
FDataflowOutputoperator= (FDataflowOutput &&)=delete
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS DATAFLOWCORE_API TArray< FDataflowInput * > & GetConnections ()
 
DATAFLOWCORE_API const TArray< FDataflowInput * > & GetConnections () const
 
bool HasAnyConnections () const
 
virtual bool IsConnected () const override
 
virtual DATAFLOWCORE_API TArray< FDataflowInput * > GetConnectedInputs ()
 
virtual DATAFLOWCORE_API const TArray< const FDataflowInput * > GetConnectedInputs () const
 
virtual DATAFLOWCORE_API bool AddConnection (FDataflowConnection *InOutput) override
 
virtual DATAFLOWCORE_API bool RemoveConnection (FDataflowConnection *InInput) override
 
virtual void GetConnections (TArray< FDataflowConnection * > &OutConnections) const override
 
virtual void SetPassthroughOffset (const uint32 InPassthroughOffset)
 
DATAFLOWCORE_API FDataflowOutputSetPassthroughInput (const UE::Dataflow::FConnectionReference &Reference)
 
DATAFLOWCORE_API FDataflowOutputSetPassthroughInput (const UE::Dataflow::FConnectionKey &Key)
 
DATAFLOWCORE_API const FDataflowInputGetPassthroughInput () const
 
virtual voidGetPassthroughRealAddress () const
 
template<class T >
void SetValue (T &&InVal, UE::Dataflow::FContext &Context) const
 
void SetValueFromStructView (const FConstStructView &StructView, UE::Dataflow::FContext &Context) const
 
void SetValueFromStructArrayView (const FConstStructArrayView &StructArrayView, UE::Dataflow::FContext &Context) const
 
template<typename TAnyType >
void SetValueFromAnyType (const typename TAnyType::FStorageType &InVal, UE::Dataflow::FContext &Context) const
 
DATAFLOWCORE_API void SetNullValue (UE::Dataflow::FContext &Context) const
 
template<class T , typename = std::enable_if_t<!std::is_base_of_v<FDataflowAnyType, T>>>
const T & ReadValue (UE::Dataflow::FContext &Context, const T &Default) const
 
template<typename TAnyType , typename = std::enable_if_t<std::is_base_of_v<FDataflowAnyType, TAnyType>>>
TAnyType::FStorageType ReadValue (UE::Dataflow::FContext &Context, const typename TAnyType::FStorageType &Default) const
 
template<class T >
const T & GetValue (UE::Dataflow::FContext &Context, const T &Default) const
 
template<class T >
const T & GetFrozenValue (const T &Default) const
 
DATAFLOWCORE_API void Freeze (UE::Dataflow::FContext &Context, struct FInstancedPropertyBag &FrozenProperties)
 
DATAFLOWCORE_API bool HasFrozenValue () const
 
bool HasCachedValue (const UE::Dataflow::FContext &Context) const
 
DATAFLOWCORE_API void ForwardInput (const UE::Dataflow::FConnectionReference &InputReference, UE::Dataflow::FContext &Context) const
 
DATAFLOWCORE_API void ForwardInput (const FDataflowInput *Input, UE::Dataflow::FContext &Context) const
 
DATAFLOWCORE_API bool HasValidData (UE::Dataflow::FContext &Context) const
 
DATAFLOWCORE_API bool EvaluateImpl (UE::Dataflow::FContext &Context) const
 
DATAFLOWCORE_API bool Evaluate (UE::Dataflow::FContext &Context) const
 
DATAFLOWCORE_API TFuture< boolEvaluateParallel (UE::Dataflow::FContext &Context) const
 
virtual DATAFLOWCORE_API void Invalidate (const UE::Dataflow::FTimestamp &ModifiedTimestamp=UE::Dataflow::FTimestamp::Current()) override
 
DATAFLOWCORE_API bool HasNodeFailedOrErrored (UE::Dataflow::FContext &Context) const
 
- Public Member Functions inherited from FDataflowConnection
 FDataflowConnection ()
 
DATAFLOWCORE_API FDataflowConnection (UE::Dataflow::FPin::EDirection Direction, FName InType, FName InName, FDataflowNode *OwningNode=nullptr, const FProperty *InProperty=nullptr, FGuid InGuid=FGuid::NewGuid())
 
DATAFLOWCORE_API FDataflowConnection (UE::Dataflow::FPin::EDirection Direction, const UE::Dataflow::FConnectionParameters &Params)
 
virtual ~FDataflowConnection ()
 
FDataflowNodeGetOwningNode ()
 
const FDataflowNodeGetOwningNode () const
 
DATAFLOWCORE_API FGuid GetOwningNodeGuid () const
 
DATAFLOWCORE_API uint32 GetOwningNodeValueHash () const
 
DATAFLOWCORE_API UE::Dataflow::FTimestamp GetOwningNodeTimestamp () const
 
const FPropertyGetProperty () const
 
DATAFLOWCORE_API FString GetPropertyTooltip () const
 
DATAFLOWCORE_API FString GetPropertyTypeNameTooltip () const
 
UE::Dataflow::FPin::EDirection GetDirection () const
 
uint32 GetOffset () const
 
virtual int32 GetContainerIndex () const
 
virtual uint32 GetContainerElementOffset () const
 
UE::Dataflow::FConnectionKey GetConnectionKey () const
 
DATAFLOWCORE_API bool SetConcreteType (FName InType)
 
void LockType ()
 
void UnlockType ()
 
bool IsTypeLocked () const
 
FName GetType () const
 
FName GetOriginalType () const
 
template<typename T >
bool IsType () const
 
FGuid GetGuid () const
 
void SetGuid (FGuid InGuid)
 
FName GetName () const
 
void SetName (FName InName)
 
virtual voidRealAddress () const
 
UE::Dataflow::FContextCacheKey CacheKey () const
 
DATAFLOWCORE_API bool IsSafeToTryChangingType () const
 
bool IsAnyType () const
 
bool HasConcreteType () const
 
DATAFLOWCORE_API void SetTypePolicy (IDataflowTypePolicy *InTypePolicy)
 
DATAFLOWCORE_API bool SupportsType (FName InType) const
 
DATAFLOWCORE_API FDataflowConnectionSetTypeDependencyGroup (FName DependencyGroupName)
 
FName GetTypeDependencyGroup () const
 
DATAFLOWCORE_API bool IsAnytypeDependencyConnected () const
 
template<class T >
bool IsA (const T *InVar) const
 
bool GetCanHidePin () const
 
bool GetPinIsHidden () const
 
FDataflowConnectionSetCanHidePin (bool bInCanHidePin)
 
FDataflowConnectionSetPinIsHidden (bool bInPinIsHidden)
 

Public Attributes

TArray< FDataflowInput * > Connections
 
uint32 PassthroughOffset = INDEX_NONE
 
UE::Dataflow::FConnectionKey PassthroughKey
 
TSharedPtr< FCriticalSectionOutputLock
 

Static Public Attributes

static DATAFLOWCORE_API FDataflowOutput NoOpOutput = FDataflowOutput()
 

Protected Member Functions

virtual void FixAndPropagateType (FName InType) override
 
- Protected Member Functions inherited from FDataflowConnection
DATAFLOWCORE_API void SetTypeInternal (FName NewType)
 
DATAFLOWCORE_API bool IsOwningNodeEnabled () const
 
DATAFLOWCORE_API void SetAsAnyType (bool bAnyType, const FName &ConcreteType)
 
DATAFLOWCORE_API void ForceSimpleType (FName InType)
 
DATAFLOWCORE_API void FixAndPropagateType ()
 
DATAFLOWCORE_API bool IsExtendedType (FName InType) const
 
DATAFLOWCORE_API bool ResetToOriginalType ()
 
DATAFLOWCORE_API void Rename (FName NewName)
 
DATAFLOWCORE_API void ForceTypeDependencyGroup (FName InTypeDependencyGroup)
 

Friends

struct FDataflowConnection
 
struct FDataflowInput
 

Additional Inherited Members

- Static Public Member Functions inherited from FDataflowConnection
static DATAFLOWCORE_API bool IsAnyType (const FName &InType)
 
static DATAFLOWCORE_API FName GetTypeNameFromProperty (const FProperty *Property)
 
- Protected Attributes inherited from FDataflowConnection
FDataflowNodeOwningNode = nullptr
 
const FPropertyProperty = nullptr
 
FGuid Guid
 
IDataflowTypePolicyTypePolicy = nullptr
 
uint32 Offset
 
UE::Dataflow::FPin::EDirection Direction
 
bool bIsAnyType:1 = false
 
bool bHasConcreteType: 1 = false
 
bool bCanHidePin:1 = false
 
bool bPinIsHidden:1 = false
 

Constructor & Destructor Documentation

◆ FDataflowOutput() [1/4]

FDataflowOutput::FDataflowOutput ( const UE::Dataflow::FOutputParameters Param,
FGuid  InGuid 
)

◆ FDataflowOutput() [2/4]

FDataflowOutput::FDataflowOutput ( const UE::Dataflow::FOutputParameters Param = {})

◆ ~FDataflowOutput()

PRAGMA_DISABLE_DEPRECATION_WARNINGS FDataflowOutput::~FDataflowOutput ( )
default

◆ FDataflowOutput() [3/4]

FDataflowOutput::FDataflowOutput ( const FDataflowOutput )
delete

◆ FDataflowOutput() [4/4]

FDataflowOutput::FDataflowOutput ( FDataflowOutput &&  )
delete

Member Function Documentation

◆ AddConnection()

bool FDataflowOutput::AddConnection ( FDataflowConnection InOutput)
overridevirtual

Reimplemented from FDataflowConnection.

◆ Evaluate()

bool FDataflowOutput::Evaluate ( UE::Dataflow::FContext Context) const

◆ EvaluateImpl()

bool FDataflowOutput::EvaluateImpl ( UE::Dataflow::FContext Context) const

◆ EvaluateParallel()

TFuture< bool > FDataflowOutput::EvaluateParallel ( UE::Dataflow::FContext Context) const

◆ FixAndPropagateType()

void FDataflowOutput::FixAndPropagateType ( FName  InType)
overrideprotectedvirtual

Reimplemented from FDataflowConnection.

◆ ForwardInput() [1/2]

void FDataflowOutput::ForwardInput ( const FDataflowInput Input,
UE::Dataflow::FContext Context 
) const

◆ ForwardInput() [2/2]

void FDataflowOutput::ForwardInput ( const UE::Dataflow::FConnectionReference InputReference,
UE::Dataflow::FContext Context 
) const

◆ Freeze()

void FDataflowOutput::Freeze ( UE::Dataflow::FContext Context,
struct FInstancedPropertyBag FrozenProperties 
)

Freeze the value of this output to the node property bag.

◆ GetConnectedInputs() [1/2]

TArray< FDataflowInput * > FDataflowOutput::GetConnectedInputs ( )
virtual

◆ GetConnectedInputs() [2/2]

const TArray< const FDataflowInput * > FDataflowOutput::GetConnectedInputs ( ) const
virtual

◆ GetConnections() [1/3]

TArray< FDataflowInput * > & FDataflowOutput::GetConnections ( )

◆ GetConnections() [2/3]

const TArray< FDataflowInput * > & FDataflowOutput::GetConnections ( ) const

◆ GetConnections() [3/3]

void FDataflowOutput::GetConnections ( TArray< FDataflowConnection * > &  OutConnections) const
overridevirtual

Reimplemented from FDataflowConnection.

◆ GetFrozenValue()

template<class T >
const T & FDataflowOutput::GetFrozenValue ( const T &  Default) const
inline

Return a pointer to the node's output storage if it has been successfully evaluated and frozen, or the provided default value otherwise.

◆ GetPassthroughInput()

const FDataflowInput * FDataflowOutput::GetPassthroughInput ( ) const

◆ GetPassthroughRealAddress()

virtual void * FDataflowOutput::GetPassthroughRealAddress ( ) const
inlinevirtual

◆ GetValue()

template<class T >
const T & FDataflowOutput::GetValue ( UE::Dataflow::FContext Context,
const T &  Default 
) const
inline

◆ HasAnyConnections()

bool FDataflowOutput::HasAnyConnections ( ) const
inline

◆ HasCachedValue()

bool FDataflowOutput::HasCachedValue ( const UE::Dataflow::FContext Context) const
inline

◆ HasFrozenValue()

bool FDataflowOutput::HasFrozenValue ( ) const

Return whether the output has a frozen value in its owner node.

◆ HasNodeFailedOrErrored()

bool FDataflowOutput::HasNodeFailedOrErrored ( UE::Dataflow::FContext Context) const

◆ HasValidData()

bool FDataflowOutput::HasValidData ( UE::Dataflow::FContext Context) const

◆ Invalidate()

void FDataflowOutput::Invalidate ( const UE::Dataflow::FTimestamp ModifiedTimestamp = UE::Dataflow::FTimestamp::Current())
overridevirtual

Reimplemented from FDataflowConnection.

◆ IsConnected()

virtual bool FDataflowOutput::IsConnected ( ) const
inlineoverridevirtual

Reimplemented from FDataflowConnection.

◆ operator=() [1/2]

FDataflowOutput & FDataflowOutput::operator= ( const FDataflowOutput )
delete

◆ operator=() [2/2]

FDataflowOutput & FDataflowOutput::operator= ( FDataflowOutput &&  )
delete

◆ ReadValue() [1/2]

template<class T , typename = std::enable_if_t<!std::is_base_of_v<FDataflowAnyType, T>>>
const T & FDataflowOutput::ReadValue ( UE::Dataflow::FContext Context,
const T &  Default 
) const
inline

◆ ReadValue() [2/2]

template<typename TAnyType , typename = std::enable_if_t<std::is_base_of_v<FDataflowAnyType, TAnyType>>>
TAnyType::FStorageType FDataflowOutput::ReadValue ( UE::Dataflow::FContext Context,
const typename TAnyType::FStorageType &  Default 
) const
inline

◆ RemoveConnection()

bool FDataflowOutput::RemoveConnection ( FDataflowConnection InInput)
overridevirtual

Reimplemented from FDataflowConnection.

◆ SetNullValue()

void FDataflowOutput::SetNullValue ( UE::Dataflow::FContext Context) const

Set a null value : this means that the connected input will get a default value and that this output will not be set re-evaluate next time

◆ SetPassthroughInput() [1/2]

FDataflowOutput & FDataflowOutput::SetPassthroughInput ( const UE::Dataflow::FConnectionKey Key)

◆ SetPassthroughInput() [2/2]

FDataflowOutput & FDataflowOutput::SetPassthroughInput ( const UE::Dataflow::FConnectionReference Reference)

◆ SetPassthroughOffset()

virtual void FDataflowOutput::SetPassthroughOffset ( const uint32  InPassthroughOffset)
inlinevirtual

◆ SetValue()

template<class T >
void FDataflowOutput::SetValue ( T &&  InVal,
UE::Dataflow::FContext Context 
) const
inline

◆ SetValueFromAnyType()

template<typename TAnyType >
void FDataflowOutput::SetValueFromAnyType ( const typename TAnyType::FStorageType &  InVal,
UE::Dataflow::FContext Context 
) const
inline

◆ SetValueFromStructArrayView()

void FDataflowOutput::SetValueFromStructArrayView ( const FConstStructArrayView StructArrayView,
UE::Dataflow::FContext Context 
) const
inline

◆ SetValueFromStructView()

void FDataflowOutput::SetValueFromStructView ( const FConstStructView StructView,
UE::Dataflow::FContext Context 
) const
inline

Friends And Related Symbol Documentation

◆ FDataflowConnection

◆ FDataflowInput

Member Data Documentation

◆ Connections

TArray< FDataflowInput* > FDataflowOutput::Connections

◆ NoOpOutput

FDataflowOutput FDataflowOutput::NoOpOutput = FDataflowOutput()
static

◆ OutputLock

TSharedPtr<FCriticalSection> FDataflowOutput::OutputLock
mutable

◆ PassthroughKey

UE::Dataflow::FConnectionKey FDataflowOutput::PassthroughKey

◆ PassthroughOffset

uint32 FDataflowOutput::PassthroughOffset = INDEX_NONE

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