ECbFieldType

Field types and flags for [FCbField](API\Runtime\Core\Serialization\FCbField)[View].

Choose your operating system:

Windows

macOS

Linux

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

  1. 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

  1. 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

  1. 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!