terminal/.github
Steffen 7712104983
Refactor u8u16 and u16u8 conversion functions (#10966)
* Perform the handling of partial code points in the `u8u16` and `u16u8`
  conversion functions without preparation in a preliminary buffer.
* Simplify partials handling in `u8u16` (perf).
* Declare the parameters for the incoming data as referenced
  string_views.
* Simplify templatization.
* Simplify exception handling.

We complete the partial codepoint in the 4-bytes long cache and convert
it separately. This makes the cache ready for capturing the next
partials before the remaining string is converted. This way, we neither
need to copy the whole string into a buffer which contains complete
codepoints, nor do we need to allocate an unnecessarily long buffer
which exists for the life time of the state class instance.

Finding and capturing of partials is performed in a more linear code
using the evaluation of the length of a code point.

The parameters for the incoming data are now explicitely declared to be
referenced string_views.

`CATCH_RETURN` is used to improve the readability of the code.

## Validation Steps Performed
* manually tested
* unit tests passed

Closes #10946

Co-authored-by: Leonard Hecker <lhecker@microsoft.com>
2021-08-23 23:48:13 +00:00
..
actions/spelling Refactor u8u16 and u16u8 conversion functions (#10966) 2021-08-23 23:48:13 +00:00
ISSUE_TEMPLATE Add link to FAQ to issue template 2021-05-28 10:09:35 -05:00
linters Add support for autodetecting URLs and making hyperlinks (#7691) 2020-10-28 20:24:43 +00:00
workflows Upgrade check-spelling to v0.0.19 (#10646) 2021-07-13 11:21:44 -05:00
PULL_REQUEST_TEMPLATE.md Add schema check to PR template (#6599) 2020-06-19 12:06:23 -07:00