String data types

The following data types are relevant to string manipulation:

Type Description
char8
Signed 8 bit number for UTF-8 encodings of strings
char16
Unsigned 16 bit number for UTF-16 encodings of strings
assignable<string8>
UTF-8 encoded string having assignment semantics under Operational Transformation
assignable<string16>
UTF-16 encoded string having assignment semantics under Operational Transformation
string8
UTF-8 encoded string supporting insertion and deletion operations (and vector semantics under Operational Transformation). This semantics is implicit in the code generated by Xcpp, the python bindings in the cxPython library and the synchronisation algorithms implemented in the cxOperation library. A string8 member tends to be dealt with as a string under the python bindings.
string16
UTF-16 encoded string supporting insertion and deletion operations (and vector semantics under Operational Transformation). Tends to be dealt with as a string under the python bindings.
xvector<char8>
Has vector semantics under OT. Dealt with as a list in the python bindings
xvector<char16>
Has vector semantics under OT. Dealt with as a list in the python bindings