UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TPropertyValueIterator< T > Class Template Reference

#include <UnrealType.h>

+ Inheritance diagram for TPropertyValueIterator< T >:

Public Types

using PairType = TPair< const T *, const void * >
 
- Public Types inherited from FPropertyValueIterator
using BasePairType = TPair< const FProperty *, const void * >
 

Public Member Functions

 TPropertyValueIterator (const UStruct *InStruct, const void *InStructValue, EPropertyValueIteratorFlags InRecursionFlags=EPropertyValueIteratorFlags::FullRecursion, EFieldIteratorFlags::DeprecatedPropertyFlags InDeprecatedPropertyFlags=EFieldIteratorFlags::IncludeDeprecated)
 
 TPropertyValueIterator ()=default
 
UE_FORCEINLINE_HINT const PairTypeoperator* () const
 
UE_FORCEINLINE_HINT const PairTypeoperator-> () const
 
UE_FORCEINLINE_HINT const T * Key () const
 
- Public Member Functions inherited from FPropertyValueIterator
COREUOBJECT_API FPropertyValueIterator (FFieldClass *InPropertyClass, const UStruct *InStruct, const void *InStructValue, EPropertyValueIteratorFlags InRecursionFlags=EPropertyValueIteratorFlags::FullRecursion, EFieldIteratorFlags::DeprecatedPropertyFlags InDeprecatedPropertyFlags=EFieldIteratorFlags::IncludeDeprecated)
 
 FPropertyValueIterator ()
 
 operator bool () const
 
UE_FORCEINLINE_HINT bool operator== (const FPropertyValueIterator &Rhs) const
 
UE_FORCEINLINE_HINT bool operator!= (const FPropertyValueIterator &Rhs) const
 
const BasePairTypeoperator* () const
 
const BasePairTypeoperator-> () const
 
UE_FORCEINLINE_HINT const FPropertyKey () const
 
UE_FORCEINLINE_HINT const voidValue () const
 
UE_FORCEINLINE_HINT void operator++ ()
 
UE_FORCEINLINE_HINT void SkipRecursiveProperty ()
 
COREUOBJECT_API void GetPropertyChain (TArray< const FProperty * > &PropertyChain) const
 
COREUOBJECT_API FString GetPropertyPathDebugString () const
 

Detailed Description

template<class T>
class TPropertyValueIterator< T >

Templated version, will verify the property type is correct and will skip any properties that are not

Member Typedef Documentation

◆ PairType

template<class T >
using TPropertyValueIterator< T >::PairType = TPair<const T*, const void*>

Constructor & Destructor Documentation

◆ TPropertyValueIterator() [1/2]

template<class T >
TPropertyValueIterator< T >::TPropertyValueIterator ( const UStruct InStruct,
const void InStructValue,
EPropertyValueIteratorFlags  InRecursionFlags = EPropertyValueIteratorFlags::FullRecursion,
EFieldIteratorFlags::DeprecatedPropertyFlags  InDeprecatedPropertyFlags = EFieldIteratorFlags::IncludeDeprecated 
)
inlineexplicit

Construct an iterator using a struct and struct value

Parameters
InStructThe UClass or UScriptStruct containing properties to search for
InStructValueAddress in memory of struct to search for property values
InRecursionFlagsRather to recurse into container and struct properties
InDeprecatedPropertyFlagsRather to iterate over deprecated properties

◆ TPropertyValueIterator() [2/2]

template<class T >
TPropertyValueIterator< T >::TPropertyValueIterator ( )
default

Invalid iterator, start with empty stack

Member Function Documentation

◆ Key()

template<class T >
UE_FORCEINLINE_HINT const T * TPropertyValueIterator< T >::Key ( ) const
inline

Returns Property currently being iterated

◆ operator*()

template<class T >
UE_FORCEINLINE_HINT const PairType & TPropertyValueIterator< T >::operator* ( ) const
inline

Returns a TPair containing Property/Value currently being iterated

◆ operator->()

template<class T >
UE_FORCEINLINE_HINT const PairType * TPropertyValueIterator< T >::operator-> ( ) const
inline

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