Navigation
Unreal Engine C++ API Reference > Runtime > Core > Serialization
References
Module | Core |
Header | /Engine/Source/Runtime/Core/Public/Serialization/CompactBinary.h |
Include | #include "Serialization/CompactBinary.h" |
Syntax
enum ECbFieldType
{
None = 0x00,
Null = 0x01,
Object = 0x02,
UniformObject = 0x03,
Array = 0x04,
UniformArray = 0x05,
Binary = 0x06,
String = 0x07,
IntegerPositive = 0x08,
IntegerNegative = 0x09,
Float32 = 0x0a,
Float64 = 0x0b,
BoolFalse = 0x0c,
BoolTrue = 0x0d,
ObjectAttachment = 0x0e,
BinaryAttachment = 0x0f,
Hash = 0x10,
Uuid = 0x11,
DateTime = 0x12,
TimeSpan = 0x13,
ObjectId = 0x14,
CustomById = 0x1e,
CustomByName = 0x1f,
Reserved = 0x20,
HasFieldType = 0x40,
HasFieldName = 0x80,
}
Values
Name | Description |
---|---|
None | A field type that does not occur in a valid object. |
Null | Null. Value is empty. |
Object | Object is an array of fields with unique non-empty names. |
UniformObject | UniformObject is an array of fields with the same field types and unique non-empty names. |
Array | Array is an array of fields with no name that may be of different types. |
UniformArray | UniformArray is an array of fields with no name and with the same field type. |
Binary | Binary. Value is a VarUInt byte count followed by the data. |
String | String in UTF-8. Value is a VarUInt byte count then an unterminated UTF-8 string. |
IntegerPositive | Non-negative integer with the range of a 64-bit unsigned integer. |
IntegerNegative | Negative integer with the range of a 64-bit signed integer. |
Float32 | Single precision float. Value is one big endian IEEE 754 binary32 float. |
Float64 | Double precision float. Value is one big endian IEEE 754 binary64 float. |
BoolFalse | Boolean false value. Value is empty. |
BoolTrue | Boolean true value. Value is empty. |
ObjectAttachment | ObjectAttachment is a reference to a compact binary object attachment stored externally. |
BinaryAttachment | BinaryAttachment is a reference to a binary attachment stored externally. |
Hash | Hash. Value is a 160-bit hash digest. |
Uuid | UUID/GUID. Value is a 128-bit UUID as defined by RFC 4122. |
DateTime | Date and time between 0001-01-01 00:00:00.0000000 and 9999-12-31 23:59:59.9999999. |
TimeSpan | Difference between two date/time values. |
ObjectId | ObjectId is an opaque object identifier. |
CustomById | CustomById identifies the sub-type of its value by an integer identifier. |
CustomByName | CustomByType identifies the sub-type of its value by a string identifier. |
Reserved | Reserved for future use as a flag. Do not add types in this range. |
HasFieldType | A transient flag which indicates that the object or array containing this field has stored the field type before the value and name. |
HasFieldName | A persisted flag which indicates that the field has a name stored before the value. |
Remarks
Field types and flags for FCbField[View].
DO NOT CHANGE THE VALUE OF ANY MEMBERS OF THIS ENUM! BACKWARD COMPATIBILITY REQUIRES THAT THESE VALUES BE FIXED! SERIALIZATION USES HARD-CODED CONSTANTS BASED ON THESE VALUES!