The encoding consists of the length of the array minus minimum
encoded as an 8-bit fixed-length unsigned integer followed by the elements of the array encoded in order. The encoding of the element at index i
is either prefix_encodings[i]
if set, or encoding
.
More...
#include <runtime_plan.h>
Public Attributes | |
const std::uint64_t | minimum |
The minimum length of the array. | |
const std::uint64_t | maximum |
The maximum length of the array. | |
const SinglePlan | encoding |
Element encoding. | |
const MultiplePlans | prefix_encodings |
Positional encodings. | |
The encoding consists of the length of the array minus minimum
encoded as an 8-bit fixed-length unsigned integer followed by the elements of the array encoded in order. The encoding of the element at index i
is either prefix_encodings[i]
if set, or encoding
.
Option | Type | Description |
---|---|---|
minimum | uint | The minimum length of the array |
maximum | uint | The maximum length of the array |
prefixEncodings | encoding[] | Positional encodings |
encoding | encoding | Element encoding |
Condition | Description |
---|---|
len(value) >= minimum | The length of the array must be greater than or equal to the minimum |
len(value) <= maximum | The length of the array must be less than or equal to the maximum |
len(prefixEncodings) <= maximum | The number of prefix encodings must be less than or equal to the maximum array length |
len(maximum) - len(minimum) < 2 ** 8 | The array length must be representable in 8 bits |
Given the array [ true, false, 5 ]
where the minimum is 1 and the maximum is 3, the prefixEncodings
corresponds to BYTE_CHOICE_INDEX with choices [ false, true ]
and BYTE_CHOICE_INDEX with choices [ false, true ]
and encoding
corresponds to BOUNDED_MULTIPLE_8BITS_ENUM_FIXED with minimum 0 and maximum 255, the encoding results in: