Merge: Wrapper of ICU's UTF-16 encoded strings and conversion
authorJean Privat <jean@pryen.org>
Fri, 23 Aug 2019 13:25:26 +0000 (09:25 -0400)
committerJean Privat <jean@pryen.org>
Fri, 23 Aug 2019 13:25:26 +0000 (09:25 -0400)
commitd5b3ef0cbef3f679e6d1a27064d3136e5ea34a67
tree2155c94c775396be82aef098b03e2ae17a51b48f
parent3ce6ffa4154405ed91b049b356397bdb010b9161
parent614bf3afc4ff402a7fa8b755b308ce8b7efa317e
Merge: Wrapper of ICU's UTF-16 encoded strings and conversion

### `u16_string` module
This module is meant to ease the use of complex string operations provided by the ICU library. The module provides a wrapper for ICU's string structure : `UChar *` as well as conversion fucntions to/from `String` and `CString`

### Remarks
- In order to convert a `String` to a `U16String`, the string must be converted to a `CString` first. Since `CString`'s are null temrinated, `U16String`'s also have to be null terminated and cannot have embedded termination characters.
- I am having some issues with DocUnits blocs thus there are no tests in the comments at the moment.
- I added an other `new` operator to the `CString` class which only returns a `null` string

Pull-Request: #2773
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>