Two sets of APIs are defined to encode the MQeFields arrays. One set of APIs starts with MQeFieldsArrayOf* and the other starts with MQeFields*Array. These two sets of APIs look alike, but the underlying encoding scheme for the elements of the array is different.
These APIs treat the entire array as a single block of data, and a single field is used to hold this block. Once this block of data is included in the MQeFieldsArrayOf* APIs, the application program cannot delete or append to the individual elements in the array. These APIs operate on primitives data types, and they are:
This set of APIs encodes each element of the array as a separate field, plus an extra field that holds the array length. In other words, this encoding scheme treats the array as a vector. The benefit of this encoding is that it allows the programmer to modify the individual element and to dynamically adjust the array size.
The encoding for each element in the array to a field consists of the following parts:
The array length, (the number of elements), is encoded in a separate field and is accessible to the programmer using the MQeFieldsGetArrayLength and MQeFieldsPutArrayLength APIs.
This set of APIs includes the following: