On Tue, Oct 16, 2018 at 9:16 PM Tom Honermann <tom@honermann.net> wrote:
> Unfortunately, if UChar is configured != char16_t, you need casts or cast helpers for using C APIs from C++ code.

The question is, effectively, whether consideration has been given to providing cast helpers in a manner similar to how standard C++ provides access to standard C functions; e.g., by exposing cast helpers in a C++ namespace.  More concretely, whether something like the following has been considered:

We haven't considered that. I don't think any of us thought of it -- but it would be a lot of work to add/document/test hundreds of duplicate functions.

This is what we told our users: http://site.icu-project.org/download/59#TOC-Pointer-conversion

Noting that there are methods on at least some platforms that avoid having to actually write a definition for the namespace scoped signature when the functions have compatible calling conventions.

ICU probably would not be able to use such platform-specific methods. We try to keep that to a minimum, and be very portable.