Encodings: Enum
Do you want to help improve these docs? Edit this page on GitHub
BYTE_CHOICE_INDEX
The encoding consists of an index to the enumeration choices encoded as an 8-bit fixed-length unsigned integer.
Options
Option | Type | Description |
---|---|---|
choices |
any[] |
The set of choice values |
Conditions
Condition | Description |
---|---|
len(choices) > 0 |
The choices array must not be empty |
len(choices) < 2 ** 8 |
The number of choices must be representable in 8 bits |
value in choices |
The input value must be included in the set of choices |
Examples
Given an enumeration [ "foo", "bar", "baz" ]
and an input value "bar"
, the
encoding results in the unsigned 8 bit integer 1:
+------+
| 0x01 |
+------+
Given an enumeration [ "foo", "bar", "baz" ]
and an input value "foo"
, the
encoding results in the unsigned 8 bit integer 0:
+------+
| 0x00 |
+------+
LARGE_CHOICE_INDEX
The encoding consists of an index to the enumeration choices encoded as a Base-128 64-bit Little Endian variable-length unsigned integer.
Options
Option | Type | Description |
---|---|---|
choices |
any[] |
The set of choice values |
Conditions
Condition | Description |
---|---|
len(choices) > 0 |
The choices array must not be empty |
value in choices |
The input value must be included in the set of choices |
Examples
Given an enumeration with 1000 members and an input value that equals the 300th enumeration value, the encoding results in the Base-128 64-bit Little Endian variable-length unsigned integer 300:
+------+------+
| 0xac | 0x02 |
+------+------+
TOP_LEVEL_BYTE_CHOICE_INDEX
If the input value corresponds to the index 0 to the enumeration choices, the encoding stores no data. Otherwise, the encoding consists of an index to the enumeration choices minus 1 encoded as an 8-bit fixed-length unsigned integer.
Options
Option | Type | Description |
---|---|---|
choices |
any[] |
The set of choice values |
Conditions
Condition | Description |
---|---|
len(choices) > 0 |
The choices array must not be empty |
len(choices) < 2 ** 8 |
The number of choices must be representable in 8 bits |
value in choices |
The input value must be included in the set of choices |
Examples
Given an enumeration [ "foo", "bar", "baz" ]
and an input value "bar"
, the
encoding results in the unsigned 8 bit integer 0:
+------+
| 0x00 |
+------+
Given an enumeration [ "foo", "bar", "baz" ]
and an input value "foo"
, the
value is not encoded.
CONST_NONE
The constant input value is not encoded.
Options
Option | Type | Description |
---|---|---|
value |
any |
The constant value |
Conditions
None
Examples
The input value that matches the value
option is not encoded.