Navigation
API > API/Runtime > API/Runtime/Engine
| |
|
| Name |
EPropertyAccessCopyType |
| Type |
enum |
| Header File |
/Engine/Source/Runtime/Engine/Public/PropertyAccess.h |
| Include Path |
#include "PropertyAccess.h" |
Syntax
enum EPropertyAccessCopyType
{
None,
Plain,
Complex,
Bool,
Struct,
Object,
Name,
Array,
PromoteBoolToByte,
PromoteBoolToInt32,
PromoteBoolToInt64,
PromoteBoolToFloat,
PromoteBoolToDouble,
PromoteByteToInt32,
PromoteByteToInt64,
PromoteByteToFloat,
PromoteByteToDouble,
PromoteInt32ToInt64,
PromoteInt32ToFloat,
PromoteInt32ToDouble,
PromoteFloatToDouble,
DemoteDoubleToFloat,
PromoteArrayFloatToDouble,
DemoteArrayDoubleToFloat,
PromoteMapValueFloatToDouble,
DemoteMapValueDoubleToFloat,
}
Values
| Name |
Remarks |
| None |
No copying. |
| Plain |
For plain old data types, we do a simple memcpy. |
| Complex |
For more complex data types, we need to call the properties copy function. |
| Bool |
Read and write properties using bool property helpers, as source/dest could be bitfield or boolean. |
| Struct |
Use struct copy operation, as this needs to correctly handle CPP struct ops. |
| Object |
Read and write properties using object property helpers, as source/dest could be regular/weak/soft etc. |
| Name |
FName needs special case because its size changes between editor/compiler and runtime. |
| Array |
Array needs special handling for fixed size arrays. |
| PromoteBoolToByte |
Promote the type during the copy Bool promotions |
| PromoteBoolToInt32 |
|
| PromoteBoolToInt64 |
|
| PromoteBoolToFloat |
|
| PromoteBoolToDouble |
|
| PromoteByteToInt32 |
Byte promotions. |
| PromoteByteToInt64 |
|
| PromoteByteToFloat |
|
| PromoteByteToDouble |
|
| PromoteInt32ToInt64 |
Int32 promotions. |
| PromoteInt32ToFloat |
|
| PromoteInt32ToDouble |
|
| PromoteFloatToDouble |
Float promotions // LWC_TODO: Float/double should become synonyms? |
| DemoteDoubleToFloat |
|
| PromoteArrayFloatToDouble |
|
| DemoteArrayDoubleToFloat |
|
| PromoteMapValueFloatToDouble |
|
| DemoteMapValueDoubleToFloat |
|