omni::structuredlog::NodeType

Defined in omni/structuredlog/JsonTree.h

enum class omni::structuredlog::NodeType : uint8_t

The data type contained within a JsonNode.

Note

For future maintainability, do not use default when switching on this enum; we’ll be able to catch all the places where the new type needs to be handled in that case.

Values:

enumerator eNull

No type has been set.

enumerator eBool

bool type.

enumerator eBoolArray

bool array type.

enumerator eInt32

int32_t type.

This corresponds to the JSON integer type.

enumerator eInt32Array

int32_t array type.

This corresponds to the JSON integer type.

enumerator eUint32

uint32_t type.

This corresponds to the JSON integer type.

enumerator eUint32Array

uint32_t array type.

This corresponds to the JSON integer type.

enumerator eInt64

int64_t type.

For interoperability, we cannot store a 64 bit int directly in JSON, so the high and low 32 bits get stores in an array [high, low].

enumerator eInt64Array

int64_t array type.

For interoperability, we cannot store a 64 bit int directly in JSON, so each element of this array is itself an array [high, low], where high is the top 32 bits and low is the bottom 32 bits.

enumerator eUint64

uint64_t type.

stored identically to NodeType::eInt64.

enumerator eUint64Array

uint64_t array type.

stored identically to NodeType::eInt64Array.

enumerator eFloat64

double type.

This corresponds to the JSON number type.

enumerator eFloat64Array

double array type.

This corresponds to the JSON number type.

enumerator eFloat32

float type.

This corresponds to the JSON number type.

enumerator eFloat32Array

float array type.

This corresponds to the JSON number type.

enumerator eBinary

array of bytes that will be base64 encoded into JSON.

enumerator eString

char* type.

enumerator eStringArray

char ** type.

enumerator eObject

object type.

enumerator eObjectArray

array of objects type.