UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosVDDataSerializationMacros.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#ifndef CVD_READ_PACKED_BITFIELD_SERIALIZER
6 #define CVD_UNPACK_BITFIELD_DATA(Value, PackedBits, EnumFlag) \
7 Value = EnumHasAnyFlags(PackedBits, EnumFlag);
8#endif
9
10#ifndef CVD_WRITE_PACKED_BITFIELD_SERIALIZER
11 #define CVD_PACK_BITFIELD_DATA(Value, PackedBits, EnumFlag) \
12 if (Value) \
13 { \
14 EnumAddFlags(PackedBits, EnumFlag);\
15 }
16#endif
17
18#ifndef CVD_SERIALIZE_STATIC_ARRAY
19 #define CVD_SERIALIZE_STATIC_ARRAY(Archive, Array) \
20 { \
21 constexpr int32 Size = UE_ARRAY_COUNT(Array) ; \
22 for (int32 Index = 0; Index < Size; Index++)\
23 {\
24 Archive << Array[Index]; \
25 }\
26 }
27#endif
28
29#ifndef CVD_IMPLEMENT_SERIALIZER
30 #define CVD_IMPLEMENT_SERIALIZER(Type) \
31 inline FArchive& operator<<(FArchive& Ar, Type& Data) \
32 {\
33 Data.Serialize(Ar); \
34 return Ar; \
35 }
36#endif