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

#include <PropertyPathHelpers.h>

+ Inheritance diagram for FCachedPropertyPath:

Public Member Functions

PROPERTYPATH_API FCachedPropertyPath ()
 
PROPERTYPATH_API FCachedPropertyPath (const FString &Path)
 
PROPERTYPATH_API FCachedPropertyPath (const FPropertyPathSegment &Segment)
 
PROPERTYPATH_API FCachedPropertyPath (const TArray< FString > &PathSegments)
 
PROPERTYPATH_API FCachedPropertyPath (const FPropertyChangedChainEvent &PropertyChangedChainEvent)
 
PROPERTYPATH_API FCachedPropertyPath (const FPropertyChangedEvent &PropertyChangedEvent, const FEditPropertyChain &PropertyChain)
 
PROPERTYPATH_API ~FCachedPropertyPath ()
 
bool IsValid () const
 
PROPERTYPATH_API void MakeFromString (const FString &InPropertyPath)
 
PROPERTYPATH_API void MakeFromChangeEvent (const FPropertyChangedChainEvent &PropertyChangedChainEvent)
 
PROPERTYPATH_API void MakeFromChangeEvent (const FPropertyChangedEvent &PropertyChangedEvent, const FEditPropertyChain &PropertyChain)
 
PROPERTYPATH_API FCachedPropertyPath MakeParentPath () const
 
PROPERTYPATH_API int32 GetNumSegments () const
 
PROPERTYPATH_API const FPropertyPathSegmentGetSegment (int32 InSegmentIndex) const
 
PROPERTYPATH_API const FPropertyPathSegmentGetLastSegment () const
 
PROPERTYPATH_API bool Resolve (UObject *InContainer) const
 
PROPERTYPATH_API void SetCanSafelyUsedCachedAddress (bool bInCanSafelyUsedCachedAddress) const
 
PROPERTYPATH_API void SetCachedLastContainer (void *InContainer, int32 InIndex) const
 
PROPERTYPATH_API voidGetCachedLastContainerInPath () const
 
PROPERTYPATH_API int32 GetCachedLastContainerInPathIndex () const
 
PROPERTYPATH_API void ResolveLeaf (void *InAddress) const
 
PROPERTYPATH_API void ResolveLeaf (UFunction *InFunction) const
 
PROPERTYPATH_API bool IsResolved () const
 
PROPERTYPATH_API bool IsFullyResolved () const
 
PROPERTYPATH_API voidGetCachedAddress () const
 
PROPERTYPATH_API UFunctionGetCachedFunction () const
 
PROPERTYPATH_API FPropertyChangedEvent ToPropertyChangedEvent (EPropertyChangeType::Type InChangeType) const
 
PROPERTYPATH_API void ToEditPropertyChain (FEditPropertyChain &OutPropertyChain) const
 
PROPERTYPATH_API FString ToString () const
 
PROPERTYPATH_API bool operator== (const FString &Other) const
 
PROPERTYPATH_API bool Equals (const FString &Other) const
 
PROPERTYPATH_API voidGetCachedContainer () const
 
PROPERTYPATH_API void SetCachedContainer (void *InContainer) const
 
PROPERTYPATH_API void RemoveFromEnd (int32 InNumSegments=1)
 
PROPERTYPATH_API void RemoveFromStart (int32 InNumSegments=1)
 
PROPERTYPATH_API FPropertyGetFProperty () const
 

Static Public Member Functions

static PROPERTYPATH_API FCachedPropertyPath MakeUnresolvedCopy (const FCachedPropertyPath &ToCopy)
 

Detailed Description

Base class for cached property paths

Constructor & Destructor Documentation

◆ FCachedPropertyPath() [1/6]

FCachedPropertyPath::FCachedPropertyPath ( )

UStruct boilerplate constructor - do not use

◆ FCachedPropertyPath() [2/6]

FCachedPropertyPath::FCachedPropertyPath ( const FString &  Path)

◆ FCachedPropertyPath() [3/6]

FCachedPropertyPath::FCachedPropertyPath ( const FPropertyPathSegment Segment)

◆ FCachedPropertyPath() [4/6]

FCachedPropertyPath::FCachedPropertyPath ( const TArray< FString > &  PathSegments)

◆ FCachedPropertyPath() [5/6]

FCachedPropertyPath::FCachedPropertyPath ( const FPropertyChangedChainEvent PropertyChangedChainEvent)

Allows constructing a cached property path from the standard events of a PostEditChange Notify or Callback

◆ FCachedPropertyPath() [6/6]

FCachedPropertyPath::FCachedPropertyPath ( const FPropertyChangedEvent PropertyChangedEvent,
const FEditPropertyChain PropertyChain 
)

◆ ~FCachedPropertyPath()

FCachedPropertyPath::~FCachedPropertyPath ( )
default

Member Function Documentation

◆ Equals()

bool FCachedPropertyPath::Equals ( const FString &  Other) const

Compares this property path to a string

◆ GetCachedAddress()

void * FCachedPropertyPath::GetCachedAddress ( ) const

Get the cached address for this property path, if any

◆ GetCachedContainer()

void * FCachedPropertyPath::GetCachedContainer ( ) const

Get the cached container for this property path, for checking purposes

◆ GetCachedFunction()

UFunction * FCachedPropertyPath::GetCachedFunction ( ) const

Get the cached function for this property path, if any

◆ GetCachedLastContainerInPath()

void * FCachedPropertyPath::GetCachedLastContainerInPath ( ) const

Get cached last container property in path

◆ GetCachedLastContainerInPathIndex()

int32 FCachedPropertyPath::GetCachedLastContainerInPathIndex ( ) const

Get cached index of last container property in path, INDEX_NONE if last container is not in path

◆ GetFProperty()

FProperty * FCachedPropertyPath::GetFProperty ( ) const

Returns FProperty if valid. This can be UFunction

◆ GetLastSegment()

const FPropertyPathSegment & FCachedPropertyPath::GetLastSegment ( ) const

Get the path segment at the end of the path

Returns
the segment at the specified index

◆ GetNumSegments()

int32 FCachedPropertyPath::GetNumSegments ( ) const
Returns
Get the number of segments in this path

◆ GetSegment()

const FPropertyPathSegment & FCachedPropertyPath::GetSegment ( int32  InSegmentIndex) const

Get the path segment at the specified index

Parameters
InSegmentIndexThe index of the segment
Returns
the segment at the specified index

◆ IsFullyResolved()

bool FCachedPropertyPath::IsFullyResolved ( ) const

Check whether a path is fully resolved. This means that it has a cached address and does not resolve over an object boundary or a dynamic array.

Returns
true if the path is fully resolved

◆ IsResolved()

bool FCachedPropertyPath::IsResolved ( ) const

Check whether a path is resolved. This means that it has a cached address, but may resolve over an object boundary or a dynamic array.

Returns
true if the path is resolved

◆ IsValid()

bool FCachedPropertyPath::IsValid ( ) const
inline

Check whether this property path is non-empty

◆ MakeFromChangeEvent() [1/2]

void FCachedPropertyPath::MakeFromChangeEvent ( const FPropertyChangedChainEvent PropertyChangedChainEvent)

Make a new property path from the chain of properties that come standard in PostEditPropertyChain events

◆ MakeFromChangeEvent() [2/2]

void FCachedPropertyPath::MakeFromChangeEvent ( const FPropertyChangedEvent PropertyChangedEvent,
const FEditPropertyChain PropertyChain 
)

◆ MakeFromString()

void FCachedPropertyPath::MakeFromString ( const FString &  InPropertyPath)

Make a new property path from a string

◆ MakeParentPath()

FCachedPropertyPath FCachedPropertyPath::MakeParentPath ( ) const

Make a copy without the last segment, if the path is resolved, the new path is also resolved.

◆ MakeUnresolvedCopy()

FCachedPropertyPath FCachedPropertyPath::MakeUnresolvedCopy ( const FCachedPropertyPath ToCopy)
static

Make a copy which is unresolved

◆ operator==()

bool FCachedPropertyPath::operator== ( const FString &  Other) const

Compares this property path to a string

◆ RemoveFromEnd()

void FCachedPropertyPath::RemoveFromEnd ( int32  InNumSegments = 1)

Trims this property path at the end

◆ RemoveFromStart()

void FCachedPropertyPath::RemoveFromStart ( int32  InNumSegments = 1)

Trims this property path at the start

◆ Resolve()

bool FCachedPropertyPath::Resolve ( UObject InContainer) const

Resolve this property path against the specified object.

Returns
true if the path could be resolved

◆ ResolveLeaf() [1/2]

void FCachedPropertyPath::ResolveLeaf ( UFunction InFunction) const

Cache a resolved function for faster subsequent access

◆ ResolveLeaf() [2/2]

void FCachedPropertyPath::ResolveLeaf ( void InAddress) const

Cache a resolved address for faster subsequent access

◆ SetCachedContainer()

void FCachedPropertyPath::SetCachedContainer ( void InContainer) const

Set the cached container for this property path, for checking purposes

◆ SetCachedLastContainer()

void FCachedPropertyPath::SetCachedLastContainer ( void InContainer,
int32  InIndex 
) const

Update cached last container property in path & correspondng index, invalidates 'bCanSafelyUsedCachedAddress'

◆ SetCanSafelyUsedCachedAddress()

void FCachedPropertyPath::SetCanSafelyUsedCachedAddress ( bool  bInCanSafelyUsedCachedAddress) const

Set whether this path resolves over object or dynamic array boundaries, making it unsafe for general direct cached access

◆ ToEditPropertyChain()

void FCachedPropertyPath::ToEditPropertyChain ( FEditPropertyChain OutPropertyChain) const

Convert this property path to a FEditPropertyChain. Note that the path must be resolved.

◆ ToPropertyChangedEvent()

FPropertyChangedEvent FCachedPropertyPath::ToPropertyChangedEvent ( EPropertyChangeType::Type  InChangeType) const

Convert this property path to a FPropertyChangedEvent. Note that the path must be resolved.

◆ ToString()

FString FCachedPropertyPath::ToString ( ) const

Make a string representation of this property path


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