Change type to `std::basic_string<char16_t>`
Changes the type to std::basic_string<char16_t>
according to https://en.cppreference.com/w/cpp/string/basic_string,
the deprecated char_traits
base template has been removed in LLVM 19.
char16_t
is a typedef to unsigned short
on musl libc and __uint_least16_t
on glibc systems.
Fixes #1462 (closed)